SHUSTORY

09-4 final 예약어 본문

프로그래밍/JAVA

09-4 final 예약어

어서오시우 2023. 3. 4. 16:58
728x90

final 예약어

사용 위치 설명
변수 final 변수는 상수를 의미한다.
메서드 final 메서드는 하위 클래스에서 재정의할 수 없다.
클래스 final 클래스는 상속할 수 없다.

 

 

상수를 의미하는 final 변수

예제01

 

상수를 선언할 때는 일반 변수와 구별하기 위해 대문자로 쓰는 경우가 많다.

상수는 변하지 않는 수이다. 그렇기 때문에 10행에서 다른 값을 대입할 수 없기에 오류가 발생한다.

 

 

여러 자바 파일에서 공유하는 상수 값 정의하기

하나의 자바 파일에서만 사용하는 상수 값은 해당 파일 안에서 정의해서 사용할 수 있다.

그런데, 프로젝트를 하다 보면 여러 파일에서 똑같이 공유하는 상수 값도 있는데,

이 경우 그러한 상수 값들을 한 파일에 모아 public static final로 선언하여 사용하면 좋다.

 

예제02

 

위와 같이 static으로 선언한 상수는 인스턴스를 생성하는 것과 관계없이 클래스 이름으로 참조할 수 있다.

( Define.Min 형태로 참조 가능하다. )

또한 상수를 모두 public으로 선언했기 때문에 외부에서도 사용 가능하다.

 

 

상속할 수 없는 final 클래스

클래스를 final로 선언하면 상속할 수 없다.

상속하면 변수나 메서드를 재정의할 수 있는데, 그러면 원래 클래스가 가지고 있는 기능에 오류가 생길 수도 있다.

 

 

* 프로그램을 구현할 때, main( )문이 있는 클래스를 먼저 만들고 나머지 클래스를 만드는 순서로, 거꾸로 코딩을 진행하면 많은 오류 메시지가 나올 것이다. 이 오류 메시지를 하나하나 지워나가도록 코드를 수정하며 프로그램을 구현해나가다보면 그냥 따라 하는 게 아닌 이미 학습한 코드를 이해하며 자기만의 코드를 만들 수 있을 것이다.

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

10-2 인터페이스와 다형성  (0) 2023.03.05
10-1 인터페이스  (0) 2023.03.05
09-3 템플릿 메서드 응용하기  (0) 2023.03.04
09-2 템플릿 메서드  (0) 2023.03.02
09-1 추상 클래스  (0) 2023.03.02