final 키워드 사용하기

2024. 8. 8. 17:09· 백엔드 Backend/기본 개념

기능을 작성하다보면, final 클래스, 메소드, 변수를 작성할 필요가 생깁니다.

시스템의 불변성을 보장하기 위해서 사용되는 이 final 키워드는 왜 사용하는지 알아보겠습니다.

final 클래스

public final class ...

외부에서 상속이 불가능합니다.

즉, 자식클래스를 생성하여 클래스 로직을 변경하는 것을 방지하기 위해 사용됩니다.

외부에서는 이 클래스를 상속할 수 없으므로, 오버라이딩이 불가능해져 고유성/불변성을 유지할 수 있습니다.

final 메소드

class A {
	final void method() {...}
}

외부에서 이 클래스를 상속할 경우, final로 선언된 메소드는 오버라이딩이 불가능합니다.

자식클래스가 이 메소드를 그대로 사용하게 만들기 위해 사용됩니다.

final 필드

class A {
	// 1. 필드 선언 시 초기값 설정
	private final String NAME = "STRING";
	// 2. 생성자에서 초기값 설정
	private final String NAME;
	public A (String name) {
		this.NAME = name;
	}
}

final로 필드를 초기화할 경우, 더 이상 그 필드값을 수정할 수 없습니다.

final 필드에 초기값을 줄 수 있는 경우는 2가지가 있는데, 필드 선언 시 초기값을 설정하거나 생성자에서 초기값을 설정하면 됩니다.

초기화되어있지 않은 경우, 컴파일 에러가 발생합니다.

인스턴스 전역에서 값을 수정할 필요가 없는 동일한 데이터를 가지는 경우에 static과 함께 사용하여 상수로 선언할 수 있습니다.

'백엔드 Backend > 기본 개념' 카테고리의 다른 글

캐시 / 캐시 전략  (1) 2024.08.12
JWT 토큰  (0) 2024.08.08
SSH Key 동작 원리  (0) 2024.08.08
예외 이해하기  (0) 2024.08.08
아키텍처  (1) 2024.08.07
'백엔드 Backend/기본 개념' 카테고리의 다른 글
  • 캐시 / 캐시 전략
  • JWT 토큰
  • SSH Key 동작 원리
  • 예외 이해하기
달래dallae
달래dallae
백엔드를 열심히 갈고 닦아서 광내봅시다 ~_~
달래dallae
머루랑달래랑
달래dallae
전체
오늘
어제
  • 분류 전체보기 (54)
    • 프로젝트 Project (14)
    • 백엔드 Backend (27)
      • 기본 개념 (13)
      • 서버 Server (9)
      • 스프링 Spring (1)
      • JPA (3)
    • 데이터베이스 Database (6)
      • MySQL (1)
      • Oracle (5)
    • 언어 Language (0)
      • 자바 Java (0)
      • 파이썬 Python (0)
    • 알고리즘 Algorithm (1)

블로그 메뉴

  • 홈
  • 글쓰기
hELLO · Designed By 정상우.v4.2.2
달래dallae
final 키워드 사용하기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.