JAVA
[JAVA] static 변수, static 메서드
준몽쓰
2025. 3. 1. 22:51
■ static 변수
- 객체 생성 없이 사용할 수 있는 필드와 메소드를 생성하고자 할 때
- 공용 데이터에 해당하거나 인스턴스 필드를 포함하지 않는 메소드를 선언하고자 할 때
- "클래스이름.필드"로 사용할 수 있다.


1) 인스턴스 변수
- static이 붙지 않은 멤버 변수 ex) name
- static이 붙지 않은 멤버 변수는 인스턴스를 생성해야 사용할 수 있음.
- 인스턴스를 만들 때마다 새로 만들어야 함
2) 클래스 변수 (정적 변수)
- static이 붙은 멤버 변수 ex) count
- static이 붙은 멤버 변수는 클래스에서 바로 접근해 사용 가능하고 클래스 자체에 소속 되어있음
■ static 메서드

1) 클래스 메서드 (정적 메서드)
- static이 붙은 메서드
- 인스턴스 생성 없이 클래스에 있는 메서드를 바로 호출
- static 변수와 마찬가지로 클래스를 통해 바로 접근 가능하며 인스턴스를 통해서도 접근할 수 있다.
- 객체 참조 없이 바로 사용할 수 있는 특징이 있어 인스턴스 필드나 메소드 this 키워드 사용할 수 없음
2) 인스턴스 메서드
- static이 붙지 않은 메서드