final

상수를 표현하기 위한 예약어

마지막이라는 단어의 뜻 처럼 선언한 그대로 사용


final 필드

final필드의 뜻은 최종적인 필드라는 뜻이다.

final필드는 초기값이 저장되면 이것이 최종적인 값이 되어서 프로그램 실행 도중에 수정할 수 없다.

▼final필드 선언

final String name = "yujin"; 

final 필드의 초기값을 줄 수 있는 2가지 방법

1. 필드 선언시에 주는 방법. (단순 값)

final String nation = "korea"; 

2. 생성자에서 주는 방법. (복잡한 초기화 코드가 필요하거나  객체 생성 시에 외부 데이터로 초기화해야할 때 사용)

final String ssn; 


상수(static final)

상수란? 

불변의 값을 말한다. 불변의 값은 수학에서 사용되는 원주율 파이(π)나, 지구의 무게및 둘레 등이 해당된다.

이런 불변의 값을 저장하는 필드를 자바에서는 상수(constant)라고 한다.

상수는 static 이면서 final이어야 한다. static final필드는 객체마다 저장되지 않고, 클래스에만 포함 된다. 그리고 한번 초기값이 정해지면 변경할 수 없다. 

 static final double PI = 3.141592;

 static final double EARTH_SURFACE_AREA; //상수이름은 대문자로 한다


final 메소드

final로 메소드를 선언하면 오버라이딩할 수 없는 메소드임을 선언한다.

자식 클래스가 부모 클래스의 특정 메소드를 오버라이딩 하지 못하게 하고 무조건 상속받아 사용하도록 하고자 한다면 final로 지정한다.

( 부모한테 강제 상속)


final 클래스

public final class 클래스{....}

final 클래스는 클래스를 상속받을수 없다.

final 클래스를 상속받아 sub 클래스를 만들수 없다. 


'프로그래밍 > JAVA' 카테고리의 다른 글

[html,css,js]동적으로 테이블 만들기  (0) 2018.10.21
[JAVA] String 타입  (8) 2018.08.20
[JAVA]상속-부모클래스, 자식클래스  (5) 2018.08.18
[JAVA]this 레퍼런스  (2) 2018.08.17
[JAVA]접근 지정자를 알아보자!  (2) 2018.08.17

+ Recent posts