본문 바로가기

JAVA

클래스 메서드와 인스턴스 메서드

1. 클래스 메서드

 

🔹 형태 : 'static'이 메서드 선언부에 함께 쓰인다.

🔹 호출 : 클래스이름.메서드이름(매개변수);

🔹 인스턴스와 관련없이 기능하는 메서드를 정의한다.

🖍 클래스 메서드는 인스턴스 존재와 상관없이 호출할 수 있기 때문에,

      인스턴스 변수처럼 인스턴스가 있어야 활용 가능한 변수는 클래스 메서드에 존재할 수 없다.

2. 인스턴스 메서드

 

🔹 형태 : 별도의 키워드가 없이 일반적인 메서드

🔹 호출 : 인스턴스참조변수이름.메서드이름(매개변수);

🔹 메서드에서 인스턴스 변수가 활용될 때 사용하며, 이러한 이유로 호출하기 위하여 인스턴스가 필요함

🖍 인스턴스 메서드 내부에는 클래스 변수를 함께 활용할 수 있다. 

 

3. 언제 어떠한 메서드를 써야 할까?

클래스 작성 시에 인스턴스 변수를 활용하지 않는 메서드의 경우에는 클래스 메서드로 선언하는 것이 좋다.

클래스 메서드는 'Method Area'로 가서 바로 호출해 올 수 있지만,

인스턴스 메서드는 'Heap'으로 먼저 가서 인스턴스에 들린 후 'Method Area'를 가기 때문에 성능 상의 문제가 생길 수 있다.

 

'JAVA' 카테고리의 다른 글

클래스 간의 관계 - 상속, 포함  (0) 2022.09.18
오버로딩(Overloading)  (0) 2022.09.17
클래스 변수, 인스턴스 변수, 지역 변수, 생성자  (0) 2022.09.15
배열  (1) 2022.09.10
클래스 객체 인스턴스  (0) 2022.09.09