instance method
- static이 붙지 않은 method
- instance method는 instance가 생성되야지만 사용가능
class method
- static이 붙은 method
- class method는 instance가 생성되지 않아도 사용가능.(class명. )
- class method에서는 인스턴스 필드, 인스턴스 메소드 사용불가. --> 메모리에 생성되는 시점이 다르기 때문에
- 즉, class method안에서는 class field만 사용가능함!!!!!
field
- 클래스가 가지는 속성
- static이 붙은 필드는 class field(클래스 변수라고도 부름)
- static이 붙지 않은 필드는 instance field
- 필드명은 소문자로 시작
- static한 필드는 클래스명.필드명 형식으로 사용함. --> ex> Person.count O, p1.count X
- 인스턴스 필드와 인스턴스 메소드는 반드시 인스턴스를 생성하고, 그 인스턴스를 참조하는 참조변수를 이용해서 사용해야함!!!
- class field는 static블록에서 초기화가능.
main method가 실행되기 전에 static블록이 먼저 실행됨.
java의 메모리 영역
- new 연산자를 사용할 때마다 메모리에 인스턴스가 생성됨.
- static한 필드는 클래스가 로딩될때, 딱 한번 메모리에 올라가고 초기화됨.
- instance method는 인스턴스를 생성하고나서 레퍼런스 변수를 이용해서 사용 가능.
- class method는 클래스명.메소드명()으로 사용가능.
- method안에 선언된 변수들은 메소드 실행 시, 메모리에 생성되고 메소드 종료 시, 사라짐.(로컬 변수)
'Java' 카테고리의 다른 글
Java - 추상 클래스 (0) | 2023.03.22 |
---|---|
Java - 생성자 (0) | 2023.03.21 |
Java - 상속 (0) | 2023.03.20 |
Java - 추상화, 다형성, 패키지 (0) | 2023.03.18 |
Java - 객체지향문법 (0) | 2023.03.16 |