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!");
     }
}

자바의 괄호들

자바 프로그래밍은 마트료시카다.

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

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

클래스(Class) - 설계도

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

지역변수 ↔ 전역변수

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

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메소드에서만 사용이 가능하기 때문)

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

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이라는 전역 변수를 생성.
i=20은 클래스 Example의 {}안에 있는 모든 곳에 접근할 수 있다.

참고 : https://1016ps.tistory.com/6?category=972251

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

자바의 구성