final
정의
- 금지의 의미를 가짐
용도
- 클래스 : 클래스의 상속을 금지
- 메서드 : 메서드의 오버라이딩을 금지
- 필드 : 값의 변경을 금지, 상수(constant)로 사용하겠다는 의미
클래스에 final 지정하기
- 클래스명에 final을 지정하면, 해당 클래스는 자식 클래스에 상속이 금지
final class 클래스명 { }
예제
메서드에 final 지정하기
- final로 지정한 메서드를 자식 클래스에서 오버라이딩 하면 에러 발생
final 반환타입 메서드명( ) { }
예제
변수에 final 지정하기
- 변수의 값을 금지한다는 뜻
- 즉 상수(constant)로 사용하겠다는 뜻
[ 상수 ]
- 프로그램 실행 후 ~ 종료까지 일정한 값을 유지
- 모든 인스턴스에서 동일한 값을 공유
[ JAVA에서 상수의 형식 ]public static final 타입 상수명 = 값;
1. 모든 클래스의 인스턴스에서 접근해야 하므로 public
2. 프로그램 실행 시에 메모리에 존재해야 하므로 static
3. 상수는 값을 변경할 수 없으므로 final
자바 상수 선언 방법
public static final int SAFE_SPEED = 60; // 도로 주행 규정 속도
public static final String SERVER_IP_ADDR = "192.0.0.1"; // 서버 주소
- 프로그램 실행 시에 즉시 메모리에 생성(static)
- 변경이 불가능(final)
- 누구나 접근 가능(public)
'JAVA' 카테고리의 다른 글
[JAVA] 인터페이스(특징, 형식과 구현), 상속과 인터페이스의 차이점 (0) | 2024.04.22 |
---|---|
[JAVA] static 멤버(static 필드, static 메서드) (0) | 2024.04.22 |
[JAVA] 싱글톤 패턴(만드는 방법, 사용하는 이유, 장단점) (0) | 2024.04.22 |
[JAVA] 메서드 오버라이딩, 오버로딩과 오버라이딩 (0) | 2024.04.21 |
[JAVA] super와 super(), this와 this() (0) | 2024.04.21 |