final

이동영·2024년 3월 11일

자바 개념정리

목록 보기
16/21

final 변수와 상수1

  • 변수에 final키워드가 붙으면 더이상 값을 변경할 수 없다.
  • final을 지역변수에 설정한 경우 한번만 값을 할당할 수 있으며 그 이후에는 값을 변경할 수 없다.
  • 메서드의 매개변수에 final키워드가 붙으면 매개변수의 값을 설정할 수 없다.

final 필드

  • final키워드가 붙은 상수는 초기화 하지 않았다면 생성자에서 한번 값을 전달하여 초기화 할 수 있으며 그 이후에는 값을 바꿀수 없다.
  • 필드를 선언할 때 final키워드가 붙은 필드는 초기화 하면 그 이후에는 프로그램이 끝날때까지 값을 변경할 수 없다.
  • final로 애초에 필드에서 초기화할 경우 생성된 객체 전부 같은 값을 가지게 된다. 그렇게 되면 같은 값을 사용하는데 메모리를 중복으로 사용하게 되는 꼴이다. 그래서 static키워드를 붙여서 같은값은 하나만 생성해서 사용한다.

fianl 변수와 상수2

  • 변하지 않고 항상 같은 값
  • 자바에서는 변하지 않고 딱 1개만 존재하는 값을 상수라고 한다.
  • static final을 사용한다.
  • 애초에 상수는 값을 변경할 수 없다. 그렇기에 public으로 노출하더라도 다른 사용자가 값을 임의로 변경할 수 없기 때문에 상수는 캡슐화를 하지 않아도 된다.
  • 상수는 런타임에 변경할 수 없다. 변경하기 위해서는 서버를 종료시키고 상수를 변경해줘야 한다.
  • 상수가 중앙에서 일관되게 값을 변경하여 컨트롤 할 수 있는 장점이 있다.
  • 앱이 실행되는 동안 변하지 않는 장점이 있으며 변경하면 전체 적으로 변경할 수 있으며 매직넘버를 해결해줄 수 있다. (가독성 향상)
  • 앱 개발시 중앙에서 관리해야하며 여러군데에서 사용되며 고정된 값이라면 상수를 사용한다.

final 변수와 참조

  • 객체를 final로 선언하여 생성하면 다른 참조값이 변수에 들어갈 수 없다. 하지만 필드를 변수로 선언했다면 생성된 객체가 final이라도 내부 데이터는 변경이 가능하다.

정리

정리 : final은 제약이 중요하다.

profile
가치를 제공하는 개발자

0개의 댓글