728x90
final 변수와 상수
- 키워드 그대로 끝 ! 더이상 값을 변경할 수 없다.
- 매우 유용한 제약
- final을 지역 변수에 설정할 경우 최초 한 번만 할당 할 수 있다.
- 이후 변경하려면 컴파일 오류 발생
- 매개변수에 final이 붙으면 메서드 내부에서 매개변수 값을 변경할 수 없다.
- 클래스 멤버 변수를 final로 지정하면
- constructor에서 초기화하거나
- 선언 시 초기화 해야함
- static이 아닌 final 필드를 초기화 하는 경우 모든 인스턴스가 오른쪽 그림과 같이 같은 값을 가진다.
- 여기서는 FieldInit 인스턴스의 모든 value 값이 10
- 이것은 메모리 낭비 !
- 초기화 값을 지정해 줄 수 없는 필드라면 static을 쓰자
- static final int CONST_VALUE = 10; 과 같이 static과 final이 같이 있으면 대문자로 상수 표현
- 매직 넘버도 해결 가능
final 변수와 참조
- final 변수에 기본값이 할당되면 변경 불가
- 참조값이 할당되면 참조값은 할당 불가하지만 참조하는 대상의 값은 변경할 수 있다.
728x90
'프로그래밍 > Java' 카테고리의 다른 글
[실전 자바-기본편] 다형성 (0) | 2024.02.21 |
---|---|
[실전 자바-기본편] 상속 (0) | 2024.02.15 |
[실전 자바-기본편] 자바 메모리 구조와 static (0) | 2024.02.14 |
[실전 자바-기본편] static 계속해서 (0) | 2024.02.13 |
[실전 자바-기본편] 접근 제어자 (0) | 2024.02.11 |
댓글