본문 바로가기

카테고리 없음

final 사용법

반응형

1. final 이란?

  • final은 이름 그대로 끝이라는 뜻이다
  • 변수에 final 키워드가 붙고 값이 할당이 한번 되었다면 더는 값을 변경할 수 없다.
  • 참고로 final 은 class , method 를 포함한 여러 곳에 붙을 수 있다.

2. final 지역변수 사용

  • final 을 지역 변수에 설정할 경우 최초 한번만 할당할 수 있다. 이후에 변수의 값을 변경하려면 컴파일 오류가 발생한다.
  • final 을 지역 변수 선언시 바로 초기화 한 경우 이미 값이 할당되었기 때문에 값을 할당할 수 없다.
  • 매개변수에 final 이 붙으면 메서드 내부에서 매개변수의 값을 변경할 수 없다. 따라서 메서드 호출 시점에 사용 된 값이 끝까지 사용된다

3. final 멤버 변수 사용

  • final 을 필드에 사용할 경우 해당 필드는 한번만 초기화 될 수 있다.
  • 생성자를 통해 초기화되었다면 한번 초기화를 한것이기때문에 이후 변경 불가

  • 그런데 위 2가지의 경우 생성자로 초기화하는 것은 값을 변경할수 있기 때문에 의미가 있다. 하지만 아래의 경우 value 의 값은 변경이 불가한채로 무조건 10이다. 그래서 객체를 생성해도 어차피 값을 바꿀수도 없고 메모리만 낭비된다 이럴때는 static 을 붙여 비효율 문제를 해결하는게 좋다 static final을 붙여 상수로 만들라는 뜻이다.

3. final 메서드,클래스 사용

  • 메서드에 final이 붙으면 고칠수 없다, 오버라이드못함
  • 클래스에 final이 붙으면 상속할수 없다

 

.

반응형