index

static에 대해 알기 위해서는 먼저 클래스 변수와 인스턴스 변수, 지역 변수의 차이에 대해서 알아야 합니다.

클래스 변수와 인스턴스 변수

  • 클래스 변수: 클래스 영역에 위치한 변수 중 static 키워드를 가지는 변수입니다.

  • 인스턴스 변수: 클래스 영역에 위치한 변수 중 static 키워드를 가지지 않는 변수입니다.

  • 지역 변수: 메소드나 생성자, 초기화 블록 내에 위치한 변수입니다.

변수 종류.png

static 을 class, method, variable에 사용하는 경우의 차이점 (by chat gpt)

Static 변수 (정적 변수):

  • 클래스 수준의 변수.

  • 객체 인스턴스와 상관없이 클래스 이름으로 접근 가능.

  • 모든 객체 인스턴스가 같은 값을 공유하며, 프로그램 종료 시까지 유지됨.

Static 메소드 (정적 메소드):

  • 클래스 수준의 메소드.

  • 객체 인스턴스와 상관없이 클래스 이름으로 호출 가능.

  • 주로 유틸리티 함수 또는 공용 메소드 구현에 사용.

Static 클래스 (정적 클래스):

  • Java에서는 클래스에 static 키워드를 사용하여 클래스를 정적으로 만들 수 없음. 클래스는 일반적으로 객체 인스턴스를 생성하기 위한 청사진으로 사용.

  • static 키워드의 사용은 클래스의 데이터와 메소드를 객체 인스턴스와 독립적으로 사용하고 싶을 때 유용하며, 주로 공유 데이터나 독립적인 메소드를 구현할 때 활용됩니다.

static initializer block

  • static initializer를 사용하여 클래스가 로딩될 때 딱 한 번 초기화 작업을 수행할 수 있습니다.

Last updated