개발자 항해

static - static 변수와 메서드2(+활용예) 본문

Programming/Java

static - static 변수와 메서드2(+활용예)

리치Y 2022. 6. 23. 22:25
  • static  메서드

정적메서드라고도 하며 메서드 선언시  static을 붙여서 정의한다.

static 멤버변수와 마찬가지로 클래스 로딩시 함께 메모리에 로딩되므로

클래스 명만으로 호출가능하다.

단,    static  메서드 내에서는 인스턴스 멤버변수에 접근 불가하고

this,super사용도 불가하며, 일반메서드 호출도 불가능하다. 

이유는 static메서드가 항상 먼저 호출되기때문

 

결론- static 메서드 내에서는 static 멤버만 접근 가능하다

 

 

접근 불가능한 예들

 

참조 변수로는 모두 접근가능하다.

  • 활용 예

학교에 학생이 등록될때마다 학생번호가 자동으로 증가하게 할수 있다.

id값이 공유되어 1씩증가됨

 

만약 static을 안쓴다면?

id값이 공유되지 않고 참조변수 각각이 id=0인값을 쓰다보니 결과값이 모두 1이 되었다.

'Programming > Java' 카테고리의 다른 글

오버로딩과 오버라이딩 차이점  (0) 2022.06.28
상속(Inheritance)  (0) 2022.06.24
static - static 변수와 메서드1  (0) 2022.06.22
로컬변수와 멤버변수  (0) 2022.06.22
생성자 오버로드  (0) 2022.06.21