final 키워드를 사용하면 최초 한번만 값을 할당 받을수 있다.
상수
- static final 키워드를 사용
- 대문자를 사용하고 구분은 _(언더스코어)로 함
- 필드를 직접 접근해서 사용
- 매직넘버 문제 해결(변수명으로 어떤 코드인지 인지할 수 있다.)
public class Example {
public static final int CONST_VALUE = 10;
}
final 변수와 참조
참조형 변수 data에 final이 붙었으므로, 참조값을 변경할 수 없다.
대신 참조값에 포함된 변수는 언제든지 변경가능.
public class Data {
public int value;
}
public static void main(String[] args) {
final Data data = new Data();
//data = new Data(); // 컴파일 오류
//참조 대상의 값은 변경 가능
data.value=10;
System.out.println(data.value);
data.value=20;
System.out.println(data.value);
}
클래스
클래스에 final을 붙이면 상속이 끝난다.
다른클래스가 final로 선언된 클래스를 상속받을 수 없다.
public final class Example{...}
메서드
메서드 final을 붙이면 오버라이딩이 끝난다.
final로 선언된 메서드는 오버라이드 될 수 없다. 상속받은 서브 클래스에서 이 메서드를 변경할 수 없다.
public final void exampleOne(){...}
'JAVA' 카테고리의 다른 글
다형성의 이해와 다운캐스팅 (instanceof) (0) | 2024.08.28 |
---|---|
super, super() (0) | 2024.08.27 |
상속 메모리 구조 (0) | 2024.08.27 |
상속 :: extends (0) | 2024.08.27 |
static (0) | 2024.08.26 |