인스턴스 멤버(iv, im)을 사용하지 않는 메서드에 static을 붙인다.
class TestClass {
int iv;
static int cv;
void instanceMethod(){
System.out.println(iv); // 인스턴스 변수 사용 가능
System.out.println(cv); // 클래스 변수 사용 가능
}
static void staticMethod(){
System.out.println(iv); // 에러!!! 인스턴스 변수 사용 불가
System.out.println(cv); // 클래스 변수 사용 가능
}
}
class TestClass2 {
void instanceMethod() {
System.out.println(iv);
System.out.println(cv);
}
static void staticMethod() {
System.out.println(iv); // 에러!!!
System.out.println(cv);
}
void instanceMethod2(){
instanceMethod(); // 인스턴스 메서드 호출 가능
staticMethod(); // static 메서드 호출 가능
}
static void staticMethod2(){
instanceMethod(); // 에러!!! 인스턴스 메서드 호출 불가
staticMethod(); // static 메서드 호출 가능
}
}