1. Final 필드
프로그램 작성시 이후 값을 변경하지 않을 필드들이 존재한다. 이런 경우 final을 사용한다. final을 붙인 필드들은 프로그램 실행 도중 수정이 불가능하다. 이때 해당 필드들을 초기화 하는 방법은 선언시 초기화 혹은 생성자에서 초기화로 총 2가지 방법이 존재한다.
final String frontName="Coding";
final String name;
public FinalExam (String lastName) {
this.name=frontName+lastName;
}
2. Static Final 필드
일반적으로 "불변의 값"을 "상수"라고 부른다. 하지만 final 필드는 상수가 될 수 없다. 왜냐하면 해당 값들은 객체마다 저장되기 때문에 객체마다 여러 값으로 초기화될 수 있기 때문이다. 따라서 해당 클래스에 대해서는 모두 같은 값을 공유하는 정적 필드에 final을 붙인 경우 우리는 상수라고 부른다. 즉, static final 필드를 우리는 상수라고 부른다. 상수 선언시 관례상 모두 대문자로 작성하며 다른 단어가 혼합된 경우 "_"로 연결해준다.
3. Final 클래스/메서드
final 키워드가 붙은 클래스 혹은 메서드는 아래 특징을 가진다.
- final 클래스: 최종적인 클래스라는 의미로 상속할 수 없는 클래스가 된다.
- final 메서드: 메서드 선언시 final 키워드를 붙이면 이는 최종적인 메서드이므로 오버라이딩할 수 없는 메서드가 된다.
'Java' 카테고리의 다른 글
[Java] java.util.Date를 java.sql.Date로 변환하기 (0) | 2023.01.31 |
---|---|
[Java] Getter/Setter의 사용 이유 (0) | 2023.01.30 |
[Java] Singleton (0) | 2023.01.30 |
[Java] Static (0) | 2023.01.30 |
[Java] Array (0) | 2023.01.30 |