final과 상수

Eunjeon_g·2023년 3월 1일
0


인스턴스 필드와 정적 필드(static)는 언제든지 값이 변경 될 수 있다.
반면 final과 상수는 값을 변경할 수 없다.

1. final
최종 값이 되도록한다.

  • 필드
    필드에 final을 선언하면 최종값이 되므로 값을 변경할 수 없다.
	final String nation = "대한민국";
  • 클래스
    class에 final을 선언하게되면 최종 class가 된다. 때문에 부모클래스가 될 수 없다.
    (상속할 수 없다.)
	public final class Blog { ... }
  • 메소드
    method에 final을 선언하게 되면 최종 method가 된다. 때문에 오버라이딩 할 수 없다.
    (자식 class에서 재정의 할 수 없다.)
    public final void book() {...}

2. 상수
원주율이나 요일 같은 불변의 값을 저장하는 필드다.
상수는 객체마다 저장할 필요없고, 여러개의 값을 가지면 안되기 때문에 static이면서 final의 특성을 가져한다.

//상수는 대문자로 작성하는 것이 좋다.
final static double PI = 3.14;

🙇🏻‍♀️

이것이 자바다 - 한빛미디어

0개의 댓글