Java의 final 키워드
: "한 번만 설정할 수 있다"는 제한을 의미
private final int age;
- private: 외부에서 접근 불가 (캡슐화)
- final: 값 변경 불가 (불변성 보장)
→ "외부에서 접근도 못 하고, 내부에서도 값을 한 번만 설정하는" 필드
final 키워드의 역할
- final은 한 번 초기화되면 다시 값을 바꿀 수 없음
- 즉, 이 변수는 생성자 또는 선언 시에만 초기화 가능
- 이후에는 값을 변경(재할당) 할 수 없음
public class Person {
private final String name;
public Person(String name) {
this.name = name; // ✔ 가능: 생성자에서 한 번만 초기화
}
public void changeName(String newName) {
this.name = newName; // ❌ 컴파일 에러! final 변수는 변경 불가
}
}
final 의 역할 (종류별)
| 쓰임 | 의미 |
| 변수(지역 변수, 필드) | 값 재할당 금지. 한 번만 값 설정 가능 |
| 메서드 | 오버라이딩 금지 (자식 클래스에서 재정의 불가) |
| 클래스 | 상속 금지 (final class) |
'IT > CS 공부' 카테고리의 다른 글
| [CS] Graceful Shutdown(우아한 종료) (1) | 2025.07.03 |
|---|---|
| [CS] CQRS 패턴 (Command Query Responsibility Segregation) (0) | 2025.06.27 |
| [CS] CI/CD 파이프라인 (1) | 2025.06.26 |
| [CS] 코드 커버리지(Code Coverage) (0) | 2025.06.26 |
| [CS] 의존성 주입(DI : Dependency Injection) (2) | 2025.06.23 |