Java

Final

에어팟맥스 2022. 6. 25. 23:17

 

field 에 final 이 붙으면 더이상 새로운 값으로 할당할 수 없다.

public final double PI = 3.141592;
	
	public void greeting() {
		System.out.println("== 안녕하세요 ==");
	}

메소드에 final 을 붙이면 자식 클래스에서 메소드의 overriding(재정의)을 할 수 없게 된다.

public final void rule() {
		System.out.println("== Hi ==");
	}

 

#### Main ####

	public static void main(String[] args) {
		
		Final_test_1 ft1 = new Final_test_1();
		
		ft1.id = "leess";
		ft1.name = "이순신";
//		ft1.PI = 234.34343; // final이므로 새로운 값을 할당할 수 없기에 오류 발생

		////////////////////////////////////////////////////////
		
		Child_final_test_1 child = new Child_final_test_1();
		child.greeting();
		child.rule();
		
	}

 

final 로 되어진 클래스는 다른 클래스로 상속해줄 수 없다.
즉, final 로 되어진 클래스는 다른 클래스에서 부모 클래스로 사용할 수 없다는 말이다.

 

public final class Final_test_2 {

	
	String id;
	String name;
	
	public void example() {
		System.out.println("== 연습입니다. ==");
	}
	
}
public class Child_final_test_2 extends Final_test_2 {

	// Final_test_2 클래스가 final 클래스 이므로 상속받을 수 없다.
	
}

 

'Java' 카테고리의 다른 글

Exception  (0) 2022.06.25
인터페이스(interface)  (0) 2022.06.25
접근지정자, 생성자  (0) 2022.06.25
객체지향 프로그래밍(Object Oriented Programming)  (0) 2022.06.21
Date, Calendar 를 사용하여 날짜 나타내기  (0) 2022.06.21