※ 공부하면서 새롭게 알게 된 점 위주로 정리 (Java의 정석 3판)
클래스 메서드
- static이 붙은 메서드
- 객체를 생성하지 않고 호출 가능 ex) 클래스이름.메서드이름
- 인스턴스 변수 사용 불가능 => 인스턴스 변수가 필요 없다면 클래스 메서드 사용 고려
- 같은 클래스 멤버일 경우라도 인스턴스 멤버를 참조/호출 할 경우, 인스턴스 반드시 생성해야 함
인스턴스 메서드
- 객체를 생성해야 호출 가능
- 같은 클래스 멤버일 경우, 인스턴스 생성없이 호출 가능
예시
public class mathTest {
int a, b; // 인스턴스 변수
int add() {return a+b;} // 인스턴스 메서드
static int mul(int a, int b) {return a*b;} // 클래스 메서드
void iMethod(){
add();
mul(2,2);
}
static void sMethod(){
add(); // 에러, 인스턴스 멤버 사용 불가
mul(2,2);
}
}
public class Test {
public static void main(String args[]){
System.out.println(mathTest.mul(2,2)); // 인스턴스 생성없이 호출 가능
mathTest test = new mathTest(); // 인스턴스 생성해야 add() 호출 가능
test.a = 2;
test.b = 5;
System.out.println(test.add());
}
}
cf) 다음 2문장을 1문장으로 합칠 수 있다.
MemberCall c = new MemberCall();
int result = c.instanceMethod1();
int result = new MemberCall().instanceMethod1();
'프로그래밍 > 자바' 카테고리의 다른 글
22-11-06 배운 내용 (0) | 2022.11.07 |
---|---|
22-10-30 배운내용 (0) | 2022.10.30 |
[JAVA] 자바 오버로딩 (Overloading), 가변인자 (varargs) (0) | 2022.09.28 |
[JAVA] 자바 변수, static (0) | 2022.09.14 |
[JAVA] 자바 클래스 (Class) (0) | 2022.09.14 |