인스턴스 메서드란?
인스턴스 생성 후 '참조변수, 메서드 이름()'으로 호출
인스턴스 멤버(iv, im)와 관련된 작업을 하는 메서드
메서드 내에서 인스턴스(iv)사용가능
객체 (인스턴스) 자신의 참조(번지)를 가지고 있는 키워드
객체 내부에서 인스턴스 멤버임을 명확히 하기 위해 this. 사용
static 메서드란? (클래스 메서드)
객체 생성 없이 '클래스 이름. 메서드 이름()'으로 호출
인스턴스 멤버(iv, im)와 관련 없는 작성을 하는 메서드
메서드 내에서 인스턴스 변수(iv) 사용불가
3. 클래스 메서드(static메서드)는 인스턴스 변수를 사용할 수 없다.
(인스턴스는 인스턴스가 반드시 존재해야만 사용할 수 있는데, 클래스 메서드는 인스턴스 생성 없이 호출 가능하므로 클래스 메서드가 호출되었을 때 인스턴스가 존재하지 않을 수도 있기 때문이다.)
클래스 이름과 함께 도트(.) 연산자로 접근한다
▲ 위와 같이 (.) 연산자를 이용해서 포함하고 있는 변수와 메서드를 출력할 수 있다.
필드
메서드
클래스가 메서드 영역으로 로딩될 때 자동으로 실행하는 블록
정적 필드의 복잡한 초기화 작업과 정적 메서드 호출 가능
클래스 내부에 여러 개가 선언되면 선언된 순서대로 실행
인스턴스 변수와 this / 클래스 변수와 static에 대해 정리해 보았습니다.
다시 한번 참고 사항은
클래스 영역에 선언된 변수를 멤버변수라고 합니다.
멤버변수는 인스턴스와 static 변수를 모두 통칭하는 말이며, 멤버변수 중에 static이 붙은 것은 클래스 변수!
static이 붙지 않은 것은 인스턴스 변수! 라는 것을 다시 한번 기억하면서 마무리 하겠습니다.