클래스 메서드(static)와

메소드 이전에 변수와 마찬가지로 정적이 첨부된 경우 클래스 메소드자아

연결되지 않은 경우 인스턴스 메서드 보지마.

클래스 메서드는 클래스 변수와 같습니다. 개체를 만들지 않고 클래스명, 메소드명(매개변수) 등

호출할 수 있습니다

인스턴스 메소드는 객체가 생성될 때만 호출됩니다.할수있다.

인스턴스 메서드는 변수를 사용하는 메서드입니다.

예와 독립(인스턴스 변수 또는 인스턴스 메서드를 사용하지 않음)클래스 메서드로서의 메서드(정적)는 다음과 같이 정의됩니다.

클래스를 디자인할 때 모든 인스턴스에서 공유되는 멤버 변수에 static을 추가합니다.

인스턴스는 서로 독립적이므로 변수(iv)는 각 인스턴스에서 다른 값을 포함합니다.

모든 인스턴스에서 동일한 값을 유지해야 하는 변수는 static으로 클래스 변수로 정의해야 합니다.

클래스 변수(정적)는 인스턴스화하지 않고 사용할 수 있습니다.

메소드 내에서 인스턴스 변수를 사용하지 않는 경우 정적 추가를 고려하십시오.

클래스 멤버와 인스턴스 멤버 간의 참조 및 호출

static void staticMethod2() {//static 메서드
    instanceMethod();//에러!! 인스턴스메서드,인스턴스 변수 를 호출할 수 없다
    staticMethod();// static 메서드는 호출 할 수 있다.
}

정적 메서드는 인스턴스 메서드를 호출할 수 없습니다.

메서드 간 호출

class TestClass2{

    int iv;// 인스턴스변수

    static int cv;// 클래스 변수



    void instanceMethod(){// 인스턴스메서드

        System.out.println(iv);// 인스턴스 변수를 사용할 수 있다.

        System.out.println(cv);// 클래스변수를 사용할 수 있다.

    }



    static void staticMethod(){// static 메서드

        System.out.println(iv);// 에러! 인스턴스 변수를 사용할 수 없다.

        System.out.println(cv);//  클래스 변수를 사용할 수 있다.

    }

}// end of class

인스턴스 메서드는 인스턴스 변수를 사용할 수 있지만 정적 메서드는 인스턴스 변수를 사용할 수 없습니다.