Final

2023. 3. 8. 15:10Java

Java에서 final은 변수, 메소드, 클래스에 모두 사용될 수 있는 키워드입니다. final 키워드가 사용된 요소는 값을 변경할 수 없으며, 상속이나 오버라이딩 등에 대한 제약을 가지게 됩니다.

 

 

1.final 변수 final 변수는 값을 변경할 수 없는 상수를 의미합니다. 변수를 선언할 때 final 키워드를 사용하면, 선언된 변수는 값이 한 번 할당되면 변경할 수 없게 됩니다.

final int a = 10; a = 20; // 에러 발생: final 변수는 값을 변경할 수 없음

 

2.final 메소드 final 메소드는 서브클래스에서 오버라이딩할 수 없는 메소드를 의미합니다. final로 선언된 메소드는 상속받은 클래스에서 오버라이딩을 할 수 없으며, 메소드의 동작이 변경될 수 없습니다.

class Parent { 
	public final void print() { 
		System.out.println("Parent Class");
	} 
}

class Child extends Parent { // 에러 발생: final 메소드는 오버라이딩할 수 없음 
	public void print() { 
		System.out.println("Child Class");
	} 
}

3.final 클래스 final 클래스는 서브클래스를 가질 수 없는 클래스를 의미합니다. final 클래스는 다른 클래스에서 상속될 수 없으며, 다른 클래스에서 final 클래스를 상속받을 수도 없습니다.

inal class MyClass {
	// ... 
} 
class ChildClass extends MyClass { // 에러 발생: final 클래스는 상속할 수 없음
}​

Java에서 final 키워드는 변경되지 않아야 할 값이나 기능을 보장할 때 사용됩니다. 또한 final로 선언된 변수나 메소드는 컴파일 시간에 최적화되어 성능상의 이점을 가져올 수 있습니다.

'Java' 카테고리의 다른 글

String과 StringBuffer의 차이  (0) 2024.09.27
Lambda Expression  (0) 2023.03.08
Enum  (0) 2023.03.08
Generic  (0) 2023.03.08
Optional  (0) 2023.03.08