YUYANE

Java/ final 본문

Programming Languages/JAVA

Java/ final

YUYA 2020. 12. 22. 22:48

final 

1. 의미 

 

1) 변수 앞에 붙은 final 

  - 더 이상 변수 값을 변경하지 못함

2) 메서드 앞에 붙는 final

  - 자식 클래스에서 더 이상 메서드를 오버라이딩하지 못함

3) 클래스 앞에 붙는 final

  - 더 이상 상속하지 못함

  - 자식 클래스 존재 불가

  - 따라서 오버라이딩을 할 수도 없음

 

* final에 어긋나는 코드를 작성하면 모두 컴파일 오류(컴파일러가 검사해줌)

 

2. 팁

 

 1) 베스트 프랙티스 : final은 기본적으로 붙인다

    - 변수, 메서드, 클래스 가능하면 모두 final을 붙이는 게 좋다! (유지보수 관리가 쉬움)

    - 나중에 상속 및 변경해야 하는 상황이 오면 그때 final을 빼도 됨

 2) 그러나 다음과 같은 경우는 에외

   - 상속 및 변경을 할 개연성이 높은 클래스 및 메서드

   - 소스코드 없이 외부에 제공하는 라이브러리

 

Comments