자바의 정석 - 기초편

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을 붙인다.

 

'자바의 정석 - 기초편' 카테고리의 다른 글

생성자, 기본 생성자  (1) 2022.08.08
오버로딩 (overloading)  (2) 2022.08.08
기본형 매개변수  (0) 2022.08.08
호출 스택 (call stack) - 중요!  (0) 2022.08.05
Return 문, 반환값  (0) 2022.08.05