컴파일 순서
1. 클래스 로딩, Class Loading
- 프로그램을 실행하기 전에 클래스의 정의를 미리 읽는 작업
- 클래스의 정의를 메모리에 얹는 작업
- 클래스 로딩 과정에서 모든 static 키워드를 인식한다. 인식 후 메모리에 실체화(구현)한다.
2. main() 실행
static 키워드
- 정적 변수 == 클래스 변수 == 공용 변수 > 사람이 달라도 같은 값을 가져야 할 때 사용
- 공용데이터이기에 관리하기 힘들다.
- 객체 변수 필요없이 메소드만 여러번 사용하고 싶을 때, static 메소드를 사용한다.
public class Ex44_static {
public static void main(String[] args) {
//Util 클래스
Util util = new Util();
int result = Util.add(10, 20); //static 메소드이므로 인스턴스 생성할 필요가 없다.
//static 변수가 속한 클래스 명을 통해 접근한다.
System.out.println(result);
}
}
class Util {
public static int add(int a, int b) {
return a+b;
}
}