본문 바로가기
JAVA

11. static 메서드와 instance 메서드

by seongju.lee 2022. 9. 20.

static 메서드와 instance메서드의 차이를 확실히 알고, 언제 사용하는 지 알아야 한다.

 

아래 코드를 통해 살펴보자.

 

class MyMath{
	
	long a, b;  // 인스턴스 변수 
	
	// 인스턴스 메서드: 인스턴스 변수 사용 
	long add() {
		return a+b;
	}
	
	// static 메서드 : 인스턴스 변수 사용x
	static long add(long a, long b) {
		return a+b;
	}
	
}

public class methodEx {

	public static void main(String[] args) {
		
		// static 메서드 호출: 클래스 이름 사용해서 호출 
		System.out.println("static 메서드 사용 : " + MyMath.add(10, 20));
		
		
		// 인스턴스 메서드 호출 : 객체 생성 후, 참조변수 사용해서 호출 
		MyMath mm = new MyMath();
		mm.a = 10;
		mm.b = 20;
		System.out.println("인스턴스 메서드 사용 : " + mm.add());
		

	}

}
  • static 메서드
    • static 메서드는 클래스 이름을 통해서 접근하여 사용한다.
    • 접근하는데 있어 객체가 필요 없다.
    • 인스턴스 변수를 사용하지 않는다.
  • 인스턴스 메서드
    • 인스턴스를 생성하고, 참조변수를 통해 접근한다.
    • 인스턴스 변수를 사용해야 한다.
  • static 메서드와 인스턴스 메서드를 사용하는 가장 큰 차이는 인스턴스 변수를 사용하느냐 마느냐의 차이이다.
  • static 메서드의 경우 인스턴스 변수를 사용하지 않기 때문에, 객체를 생성할 필요가 없다.

'JAVA' 카테고리의 다른 글

12. this()와 this  (0) 2022.09.24
12. 생성자, 기본 생성자  (0) 2022.09.24
10. 참조형 반환타입  (0) 2022.09.20
9. 기본형&참조형 매개변수  (0) 2022.09.20
8. 호출스택  (0) 2022.09.18