JAVA/자바의 정석

[자바의 정석 - 기초편] 6. (6) static 메서드 / 인스턴스 메서드

서영22 2023. 11. 28. 23:24

 인스턴스 메서드 

인스턴스 생성 후, ' 참조변수.메서드 이름() ' 으로 호출

 

인스턴스 멤버 (iv, im)와 관련된 작업을 하는 메서드

 

메서드 내에서 인스턴스 변수 (iv) 사용 가능

 

 

 

 staitc 메서드 (클래스 메서드) 

객체 생성없이 ' 클래스 이름.메서드이름() ' 으로 호출

 

인스턴스 멤버와 관련없는 작업을 하는 메서드

 

메서드 내에서 인스턴스 변수 (iv) 사용 불가

 

 

 

➔ iv 사용 여부로 인스턴스 메서드인지 static 메서드인지 갈림

 

 

 

 

< 메서드 생성할 때 >

 

인스턴스 메서드 : 인스턴스 변수 (iv) 사용

 

static 메서드 : 지역 변수 (lv) 사용

 

 

 

< 메서드 호출할 때 >

 

인스턴스 메서드 : 1. 객체 생성   2. 참조변수 세팅   3. "참조변수.메서드 이름()" 으로 호출

 

static 메서드 : "클래스 이름.메서드 이름()" 으로 호출

 

 

 

 static을 언제 붙여야 하는지? 

- 속성중에서 공통 속성

 

- 인스턴스 멤버를 사용하지 않는 메서드에 

 

 

 

 

 메서드 간의 호출과 참조 

- static 메서드는 인스턴스 변수 (iv) 사용 X

 

- static 메서드는 인스턴스 메서드 (im) 호풀 X

 

 

왜 안되는지?

 

: static 메서드 호출시 객체 (iv묶음)가 없을 수도 있어서