goal
java의 final 키워드의 이해
final은 기본적으로 상수 취급
final은 기본적으로 변경을 하지 못하게 한다.
final이 쓰인 곳에 따라 조금씩 의미는 달라지는데, 구체적인 내용은 아래와 같다.
위치 | 의미 | 공통점 |
클래스 | 더 이상 상속할 수 없는 마지막 세대 클래스 | 변경불가 |
메소드 | 오버라이딩 불가 | 변경불가 |
변수 | 값 변경이 불가능한 상수 | 변경불가 |
final class FinalClassEx {
final int x = 1; // 상수
final int getNum() {
final int localVar = x;
return x;
}
}
※ final 클래스 부분에서 약간의 헷갈림이 있었는데, 다른 자식에서 final 클래스
를 사용할 수 없다고 이해하자. 단, final 클래스
는 다른 클래스를 상속 받을 수 있다!
※ 잠깐만~ final 변수의 초기화 방법에 대해서 알고가자
final 변수의 초기화 방법은 2가지가 존재한다.
- 선언과 동시에 진행하는 초기화
- 생성자로 진행하는 초기화
이 두 가지가 존재함을 반드시 기억해야한다. 이걸 인지하지 못해서 열거타입(enum)을 이해하는데 엄청 오래 걸렸다....
'Java > java' 카테고리의 다른 글
java :) Generic 정말 끝내자..? Generic class / Generic method (12) | 2022.05.17 |
---|---|
java :) collection framework의 순환 Iterator와 ListIterator (0) | 2022.05.16 |
java :) abstract, abstract class(추상클래스)/abstract method(추상메소드) [수정 1] (0) | 2022.05.13 |
java :) 자바의 메모리 구조 (static, stack, heap) (0) | 2022.05.10 |
java :) java에서 정규표현식 사용하기, Pattern 클래스 (0) | 2022.05.10 |