반응형
1. static 키워드
static 키워드는 클래스 멤버를 지정할 때 사용됩니다. 클래스가 로드될 때 메모리에 한 번 할당되며, 모든 인스턴스가 공유하는 변수나 메서드에 사용됩니다. 이는 다음과 같은 특성을 가집니다:
- 클래스 변수: 클래스의 모든 인스턴스들이 공유하는 변수로, 클래스가 로드될 때 초기화됩니다.
- 스태틱 메서드: 인스턴스 생성 없이도 호출할 수 있는 메서드입니다.
public class MyClass {
public static int staticVariable = 10;
public static void staticMethod() {
System.out.println("This is a static method.");
}
}
2. final 키워드
final 키워드는 변수, 메서드, 클래스에 적용될 수 있습니다. 이 키워드를 사용하면 해당 요소가 초기화 이후 변경될 수 없습니다.
- 변수: 변수가 상수가 되어 초기화 이후 값이 변경되지 않습니다.
- 메서드: 메서드가 오버라이드될 수 없으며, 하위 클래스에서 변경할 수 없습니다.
- 클래스: 클래스가 상속될 수 없으며, final 클래스의 메서드 역시 오버라이드될 수 없습니다.
public class MyConstants {
public static final double PI = 3.14159;
public static final String APP_NAME = "MyApp";
public static final int MAX_COUNT;
static {
MAX_COUNT = 100;
}
}
3. static final 키워드
static final 키워드는 상수를 정의할 때 사용됩니다. 이는 한 번 할당된 후 변경되지 않는 값으로, 주로 상수를 정의하는 데 활용됩니다. 클래스가 로드될 때 초기화되며, 해당 클래스의 모든 인스턴스들이 공유합니다.
public class Configuration {
public static final String DATABASE_URL = "jdbc:mysql://localhost:3306/mydatabase";
public static final int MAX_CONNECTIONS = 10;
public static final String VERSION;
static {
VERSION = "1.0.0";
}
}
4. static final 사용 사례
- 상수 정의: 프로그램 내에서 변경되지 않는 값을 정의할 때 사용됩니다.
- 설정 값: 설정 파일 경로, 데이터베이스 URL 등 프로그램 구성 요소에 대한 상수를 정의할 때 유용합니다.
- 플래그 값: 특정 조건을 나타내는 상수를 정의할 때 활용됩니다.
5. 주의할 점
- 명명 규칙: static final 상수는 대문자와 언더스코어(_)를 사용하여 명명해야 합니다. 예를 들어 MAX_CONNECTIONS, DATABASE_URL 등이 좋은 예시입니다.
- 멀티스레드 환경: static final 상수는 변경되지 않는 값이므로 스레드 안전성을 고려할 필요가 없습니다.
반응형
'JAVA' 카테고리의 다른 글
Java에서의 열거형(Enum)에 대해 알아보자 (0) | 2024.07.02 |
---|---|
퍼사드 패턴 (0) | 2024.06.28 |
조건문에서 if만 사용할까? else if를 사용할까? (0) | 2024.06.27 |
Java의 Wrapper 클래스: 기본 자료형을 객체로 다루는 방법 (0) | 2024.06.25 |
Java의 Objects 클래스: 유용한 유틸리티 메서드 (0) | 2024.06.25 |