nme.kr

문서의 이전 판입니다!


Java Programming Point

객체 라이프 사이클
1. 클래스 정의
2. 객체 참조변수 선언
3. 객체 생성
4. 생성자 호출
5. 주소 할당
6. 객체 사용
7. 객체 소멸

public class HelloWorld{

     public static void main(String[] args) {

          System.out.println("Hello world!");
     }
}

1. 자바는 마트료시카다.

  • 중괄호 { } 속에서 클래스, 변수의 명령들이 실행되고
  • 대괄호 [ ] 는 그릇과 같다고 보면 된다고들 한다. 변수, 배열의 데이터들을 담기 위해 마련된다.
  • 소괄호 ( ) 안에는 인스턴스의 형식부터 일반적인 수식들이 담긴다.

public(접근권한) class(설계) HelloWorld(내가 만든 클래스 이름 - 대문자로 시작) { { ( [] ); } }

클래스(Class) - 설계도

변수의 유효범위(Variable Scope) - { }
{ } 범위 내에서 선언한 변수는 { } 내에서만 유효하다.

지역변수 ↔ 전역변수

지역변수 - 메소드 내에서만 접근할 수 있는 변수

<code java> static void a(){

  int b = 10 ;

}

메소드 a에서 변수 b는 a메소드 밖에서는 영향을 주지 않는다.

ex)

public class Example {

  public static void a() {
      int i = 10;
      b();
      }
  static void b() {
      System.out.println(i);
  }
  public static void main(String[] args) {
      a();
  }

}

main이 먼저 실행되고 a메소드를 실행시킵니다.
a메소드에서 변수 i = 10을 선언하고 b메소드를 실행시킵니다.

b메소드에서 i를 출력하려고 하지만 i값을 찾을 수가 없어서 오류가 납니다. (a메소드에서 만든 변수 i는 a메소드에서만 사용이 가능하기 때문)

전역 변수 - 클래스 전역에서 접근할 수 있는 변수

<code java> public class Example {

  static int i = 20; // 전역변수 : 클래스 전체 범위를 대상으로 선언
  
  public static void a() {
      int i = 10;
      b();
      }
  static void b() {
      System.out.println(i);
  }
  public static void main(String[] args) {
      a();
  }

}

이전에 있던 코드와의 차이는 클래스 Example 아래에 i=20이라는 전역 변수를 만들어 주었다.
클래스 Example의 {}안에 있는 모든 곳에 접근할 수 있는 전역 변수가 된다.

객체(Object) - 틀 구체적인 객체로 만들어 내는 것 - 인스턴스(Instance) 변수(Variable) - 그릇 배열(Array) - 표