Final
2021. 1. 5. 16:07ㆍ2021/JOB DA STUDY
final은 해당 Entity가 오로지 한번 할당 될 수 있음을 의미
final 변수
해당 변수가 생성자나 대입연산자를 통해 "한번만 초기화 가능"함을 의미 (상수를 만들 때 응용)
final 메소드
해당 메소드를 Override(상속)하거나 숨길 수 없음을 의미
final 클래스
해당 클래스는 더 이상 상속할 수 없음을 의미 (상속 계층 구조에서 마지막 클래스)
- final 멤버 변수가 반드시 상수는 아니다.
final의 정의는 "상수"가 아닌 "한번만 초기화"이기 때문이다.
- private 메소드와 final 클래스의 모든 메소드는 명시하지 않아도 final처럼 동작
Override가 불가능하기 때문이다.
-> Pricate: 자식 클래스에서 안보이며 오버라이드도 안된다.
-> final: 자식 클래스에서 보이지만 오버라이드가 안된다.
---------------------------------------------------------------------------------------------------------------------------------
public static final String name = "전지민";
위와 같이 static final 을 사용하는 이유 : 클래스 멤버 변수를 final로 지정하는 의도
모든 클래스 인스턴스에서 동일하게 써야하는 값이며, 처음부터 끝까지 변경할 의도가 없는 경우, 인스턴스가 만들어질 때 마다 새로운 메모리를 잡고 초기화하지 않고, 클래스 레벨에서 한번만 할당해서 하나의 메모리 공간을 쭉 쓰게 되는 경우가 더 효율적이다. |
'2021 > JOB DA STUDY' 카테고리의 다른 글
디자인패턴_Strategy Pattern of Behavioral Pattern (0) | 2021.01.06 |
---|---|
디자인패턴_Singleton Pattern of Creational Pattern (0) | 2021.01.05 |
Static (0) | 2021.01.05 |
Design Pattern (0) | 2021.01.05 |
디자인패턴_MVC Pattern (0) | 2020.12.31 |