index
Last updated
static에 대해 알기 위해서는 먼저 클래스 변수와 인스턴스 변수, 지역 변수의 차이에 대해서 알아야 합니다.
클래스 변수: 클래스 영역에 위치한 변수 중 static 키워드를 가지는 변수입니다.
인스턴스 변수: 클래스 영역에 위치한 변수 중 static 키워드를 가지지 않는 변수입니다.
지역 변수: 메소드나 생성자, 초기화 블록 내에 위치한 변수입니다.
클래스 수준의 변수.
객체 인스턴스와 상관없이 클래스 이름으로 접근 가능.
모든 객체 인스턴스가 같은 값을 공유하며, 프로그램 종료 시까지 유지됨.
클래스 수준의 메소드.
객체 인스턴스와 상관없이 클래스 이름으로 호출 가능.
주로 유틸리티 함수 또는 공용 메소드 구현에 사용.
Java에서는 클래스에 static 키워드를 사용하여 클래스를 정적으로 만들 수 없음. 클래스는 일반적으로 객체 인스턴스를 생성하기 위한 청사진으로 사용.
static 키워드의 사용은 클래스의 데이터와 메소드를 객체 인스턴스와 독립적으로 사용하고 싶을 때 유용하며, 주로 공유 데이터나 독립적인 메소드를 구현할 때 활용됩니다.
static initializer를 사용하여 클래스가 로딩될 때 딱 한 번 초기화 작업을 수행할 수 있습니다.