1. final 제어자
# 수정을 금지하는 final 제어자
final 제어자를 사용하여 선언한 자원은 재정의를 할 수 없음을 의미
즉, 상수를 뜻한다.
1) 일반 변수와 구분짓기 위하여 변수명을 대문자로 하며 두 단어 사이에 _ 를 사용하여 정의한다.
2) final 제어자의 특징
(1) 생성자는 final 키워드를 사용할 수 없다.
(2) 클래스 선언부에 final 키워드를 사용한 경우 클래스는 상속될 수 없다.
- final 키워드를 사용한 클래스가 상속된다면 재정의를 의미하는 오버라이딩 기법이final 키워드의 의미와 상충되기 때문이다.
- 상속을 방지하고자 할 때, 클래스에 final 키워드를 선언해서 사용한다.
(3) 메소드 선언부에 final 키워드를 사용한 경우 메소드는 오버라이딩될 수 없다.
- final 키워드가 재정의할 수 없도록 제한하기 때문이다.
- 오버라이딩을 계속 진행하기 위해서는 메소드의 final 제어자를 제거해야 한다.
(4) 변수 선언부에 final 키워드를 사용한 경우 변수는 변경될 수 없다.
- 기본형을 사용해서 선언한 변수나 참조형을 사용해서 선언한 변수에 final 키워드를 사용한 경우 그 값은 상수로 처리된다.
- final로 선언한 변수는 값이 다시 설정한다고 해도 값이 설정되지 않고 컴파일 에러를 발생시킨다.
# final 제어자 예제
1 2 3 4 5 6 7 8 9 10 | // 일반 변수: 재정의 가능 int buttonNum = 10; buttonNum = 15; System.out.println(buttonNum); // 15 // final 변수(상수): 재정의 불가능, 대문자, _ final int CAR_NUM = 10; // CAR_NUM = 15; // 불가능 System.out.println(CAR_NUM); // 10 | cs |
'JAVA > JAVA2' 카테고리의 다른 글
JAVA2_day03 | 인터페이스 (Interface) (0) | 2018.01.12 |
---|---|
JAVA2_day03 | 추상화 (Abstract) (0) | 2018.01.12 |
JAVA2_day02 | 클래스 Class 연습문제 (1) (단어 검색) (0) | 2018.01.11 |
JAVA2_day02 | Garbage Collector (가비지 콜렉터) (0) | 2018.01.11 |
JAVA2_day02 | 동적 로딩, 정적 로딩, static 키워드 (0) | 2018.01.11 |