[java] 클래스와 객체의 정적(static) 메소드와 인스턴스 메소드의 차이점은 무엇인가요?
  1. 정적(static) 메소드:
    • 클래스에 속해 있으며 객체의 생성 없이 바로 호출할 수 있습니다.
    • 클래스 레벨에서 실행되기 때문에 클래스 내부에서 선언된 변수나 메소드에 직접 접근하지 못하고, 오직 정적 멤버 변수나 다른 정적 메소드에만 접근할 수 있습니다.
    • 정적 메소드는 객체의 상태를 변경하지 않고 단순히 로직을 수행하는 용도로 사용됩니다. 예를 들면 수학적 계산, 유틸리티 메소드 등이 있습니다.
    • 정적 메소드는 클래스 이름으로 호출되며, 인스턴스를 생성하지 않아도 사용할 수 있습니다.
  2. 인스턴스 메소드:
    • 객체의 인스턴스에 속해 있습니다.
    • 객체 생성 후 해당 객체를 통해 호출될 수 있습니다.
    • 인스턴스 메소드는 해당 객체의 상태를 변경하거나 객체의 필드에 접근할 수 있습니다.
    • 인스턴스 메소드는 객체의 특정한 동작을 수행하거나 객체의 상태를 조작하기 위해 사용됩니다. 예를 들면 객체의 내부 상태 변경, 데이터 처리 등이 있습니다.

따라서, 정적 메소드는 클래스의 행동을 정의하고 클래스 수준에서 공유하여 사용할 때 유용합니다. 반면에 인스턴스 메소드는 특정한 객체의 동작과 상태를 정의할 때 사용됩니다.

더 자세한 내용은 아래의 참고 자료를 확인해보시기 바랍니다.