반응형
static 메서드 : 앞에 static이 붙은 것
인스턴스 메서드 : 앞에 static이 붙지 않은 것
인스턴스 메서드
- 인스턴스 생성 후, '참조변수.메서드이름()'으로 호출
- 인스턴스 멤버(iv, im)와 관련된 작업을 하는 메서드
- 메서드 내에서 인스턴스 변수(iv) 사용가능
static 메서드(클래스메서드) -> Math.random()
- 객체생성없이 '클래스이름.메서드이름()'으로 호출
- 인스턴스 멤버(iv, im)와 관련없는 작업을 하는 메서드
- 메서드 내에서 인스턴스 변수(iv) 사용불가
객체는 iv 묶음이다.
static 메서드는 객체(iv)가 필요 없다.
★여기서 long add() {return a+b}는 iv(인스턴스변수), static long add(long a, long b) {return a+b}는 lv(지역변수)인데, 이것을 구분하는 방법은 저 위에 long a,b(인스턴스 변수)를 사용하냐 안하냐로 나뉜다.
아래에 선언한 static 메서드는 매개변수 (long a, long b)를 따로 사용하고 있기에 iv(인스턴스 변수)를 사용하는 것이 아니게 된다.
반응형
'java↗' 카테고리의 다른 글
java↗7-15. 생성자(constructor) (0) | 2024.03.28 |
---|---|
java↗7-14. 오버로딩(overloading) (1) | 2024.03.27 |
java↗7-12. 기본형 매개변수, 참조형 매개변수 (0) | 2024.03.27 |
java↗7-11. 호출스택(call stack) (0) | 2024.03.27 |
java↗7-10. return문 반환값 (0) | 2024.03.27 |