■ static 변수
- 객체 생성 없이 사용할 수 있는 필드와 메소드를 생성하고자 할 때
- 공용 데이터에 해당하거나 인스턴스 필드를 포함하지 않는 메소드를 선언하고자 할 때
- "클래스이름.필드"로 사용할 수 있다.
1) 인스턴스 변수
- static이 붙지 않은 멤버 변수 ex) name
- static이 붙지 않은 멤버 변수는 인스턴스를 생성해야 사용할 수 있음.
- 인스턴스를 만들 때마다 새로 만들어야 함
2) 클래스 변수 (정적 변수)
- static이 붙은 멤버 변수 ex) count
- static이 붙은 멤버 변수는 클래스에서 바로 접근해 사용 가능하고 클래스 자체에 소속 되어있음
■ static 메서드
1) 클래스 메서드 (정적 메서드)
- static이 붙은 메서드
- 인스턴스 생성 없이 클래스에 있는 메서드를 바로 호출
- static 변수와 마찬가지로 클래스를 통해 바로 접근 가능하며 인스턴스를 통해서도 접근할 수 있다.
- 객체 참조 없이 바로 사용할 수 있는 특징이 있어 인스턴스 필드나 메소드 this 키워드 사용할 수 없음
2) 인스턴스 메서드
- static이 붙지 않은 메서드
'JAVA' 카테고리의 다른 글
[JAVA] 상속 (0) | 2025.03.20 |
---|---|
[JAVA] final (0) | 2025.03.16 |
[JAVA] 접근제어자 (private, public, protected, default) (1) | 2025.02.21 |
[JAVA] this, 생성자, this() (0) | 2025.02.16 |
[JAVA] 객체지향프로그래밍 vs 절차지향프로그래밍 (0) | 2025.02.09 |