Final

최승아·2021년 9월 30일
0

1. Final

Final 변수란?

  • 변수를 상수화 시킴
  • 즉, 한번 값이 결정된 변수의 값은 변경 불가능

Final 클래스란?

  • 클래스를 상속하는 것을 허용하지 않겠다는 뜻
  • 대표적으로 String 클래스가 있다
  • 클래스가 final일 시 해당 클래스의 내부 메소드도 final로 선언되나, 변수의 경우는 final 개념을 갖지 않음

Final 메소드란 ?

  • 오버라이딩을 허용하지 않겠다는 뜻
  • 클래스는 상속이 가능하되 해당 메소드는 오버라이딩이 불가능

소스 예시

  1. final Class Book 👉 상속받아서 파생 클래스 만들지 못함
  2. pricate static final String ~~ 👉 클래스 변수는 반드시 선언 시 초기화 해주어야 하며 , 다른 곳에서는 초기화 못함
  3. private final ~~ 👉 인스턴스 변수는 선언 시 초기화 해주거나, 생성자를 통해 값 지정 가능
  4. public final void func() 👉 final 메소드로 상속 받는 클래스에서 오버라이딩을 못함
  5. final int ~~ 👉 final 지역 변수는 일반 변수와 같이 scope이 동일하지만, 한번 초기화 되면 그 이후 값 변경 불가
  6. final 클래스 내에 일반 변수는 final 특징을 갖지 않음
  7. final 클래스 내에 일반 메소드는 해당 클래스가 상속 받지 못하므로 자동으로 final 특징 가짐

출처 :
1. 공부하는 소햐 블로그, 2019. 3. 8, https://goodncuteman.tistory.com/4
2. 메성, 2020. 2. 1, https://it-mesung.tistory.com/85?category=830540

profile
⭐ 개발 정리 공간 ⭐

0개의 댓글