JAVA하면 아무 생각 없이 치는
public static void main(String[] args){}
여기서 저 static은 무엇일까
static - class method
no static - instance method
뭔가 non static이라고 해야할 거 같지만 생활코딩 그대로 가져옴 ㅋ
클래스.메소드
인스턴스.메소드
예시 코드
class Print{
public String delimeter;
public void a(){
System.out.println(this.delimeter);
System.out.println("a");
System.out.println("a");
}
public void b(){
System.out.println(this.delimeter);
System.out.println("b");
System.out.println("b");
}
public static void c(){
System.out.println("=");
System.out.println("c");
System.out.println("c");
}
}
public class staticMethod {
public static void main(String[] args){
// Print.a("-");
// Print.b("-");
// t1은 Print 클래스를 복사한 인스턴스
Print t1 = new Print();
t1.delimeter = "-";
// Print.a("*");
// Print.b("*");
t1.a();
t1.b();
// a()는 클래스 소속이 아닌 인스턴스 소속이기 때문에 동작하지 않음
// Print.a();
Print.c();
}
}
Static을 할당하게 되면 모든 객체가 메모리를 공유하게 됩니다..