자바의 정석 - 기초편
Static 메서드와 인스턴스 메서드
ODaram
2022. 8. 8. 14:57
Static 메서드와 인스턴스 메서드
-> iv 사용여부에 따라 갈림
Class MyMath2 {
long a, b; // -> 인스턴스 변수 : iv
long add() { // 인스턴스 메서드 (iv 사용)
return a + b; // iv
}
static long add (long a, long b // -> 지역변수 : lv) ) { // 클래스 메서드( = static 메서드) (iv 사용X)
return a + b; // lv
}
}
인스턴스 메서드
- 인스턴스 생성 후, '참조변수.메서드이름()'으로 호출
- 인스턴스 멤버 (iv, im)과 관련된 작업을 하는 메서드
- 메서드 내에서 인스턴스 변수 (iv) 사용가능
Static 메서드 (클래스 메서드)
- 객체생성없이 '클래스 이름.메서드이름()' 으로 호출
- 인스턴스 멤버 (iv, im)과 관련없는 작업을 하는 메서드
- 메서드 내에서 인스턴스 변수 (iv) 사용불가
> 객체생성 없이 호출 가능한 메서드
Static 을 언제 붙여야 할까?
> 속성 ( 멤버 변수 ) 중에서 공통 속성에 static을 붙인다.
> 인스턴스 멤버 (iv, im)을 사용하지 않는 머세드에 static을 붙인다.