6.6.1 클래스 메서드와 인스턴스 메서드의 구분
- 메서드 앞에 static의 유무로 판단 가능
- 클래스 메서드 : static이 있음
- 인스턴스 메서드 : static이 없음
6.6.2 클래스 메서드
- 클래스가 메모리에 올라갈 때 static이 붙은 멤버는 자동 생성
- 인스턴스와 관계 없는 메서드를 클래스 메서드로 선언
- 객체를 생성하지 않아도 '클래스이름.메서드이름'으로 호출 가능
- 인스턴스 호출 불가
6.6.3 인스턴스 메서드
- 객체가 만들어질 때 heap영역에 생성
- '인스턴스.메서드이름'으로 호출 가능
- 클래스, 인스턴스 호출 가능
6.6.4 사용 목적에 따른 클래스와 인스턴스 구분
- 모든 인스턴스가 공유를 하는것은 static을 붙여 클래스 메서드로 선언
- 클래스 변수는 인스턴스 생성하지 않아도 사용할 수 있다.
- 클랫 메서드는 인스턴스 변수를 사용할 수 없다.
- 메서드 내에서 인스턴스 변수를 사용하지 않았다면, static을 붙여 클래스 변수로 선언하는 것을 고려
6.6.5 클래스 멤버와 인스턴스
- 클래스 멤버가 인스턴스 멤버를 참조 및 호출을 하는 경우 인스턴스를 생성해야 한다.
'자바의 정석 정리' 카테고리의 다른 글
자바의 정석 - 6.8 생성자 (0) | 2022.06.10 |
---|---|
자바의 정석 - 6.7 오버로딩 (0) | 2022.06.10 |
자바의 정석 - 6.5 재귀호출 (0) | 2022.06.10 |
자바의 정석 - 6.4 JVM의 메모리 구조 (0) | 2022.06.10 |
자바의 정석 - 6.3 메서드 (0) | 2022.06.10 |