JAVA 7강_8_final

열라뽕따히·2024년 2월 20일

JAVA

목록 보기
47/79

final 지정자

  • 클래스나 멤버변수, 멤버메서드에 적용해서 사용함

  • 클래스 :
    변경할 수 없는 클래스, 확장할 수 없는 클래스.
    final 로 지정된 클래스는 다른 클래스의 조상(부모) 클래스가 될 수 없음 (extends 할 수 X)

  • 멤버메서드 :
    변경될 수 없는 메서드.
    final로 선언된 메서드는 오버라이딩(재정의)을
    통해서 메서드를 재정의 할 수 없음

  • 멤버변수 :
    변수명 앞에 final 이라는 키워드가 붙으면
    값을 변경할 수 없음 ==> 상수가 됨

※ 대표적인 final 클래스는 String 클래스와 Math 클래스임





<예시>


=============================코드=============================

class AA {
	
	final int su = 295;  // 상수로 인식 => 값 변경이 안 됨!
	
	final void output() {
		System.out.println("final output() 메서드 호출");
	}
	
}

class BB extends AA {
	
	// final 키워드가 붙어서 상수가 되었으므로 값 변동이 불가하다! 
	//su = 137;
	
	
	// final로 지정된 메서드는 메서드 재정의(오버라이딩) 할 수 없음!
	//@Override
	//void output() {
		//System.out.println("output() 메서드 재정의");
	//}
	
}

//final로 지정된 클래스는 다른 클래스의 부모클래스가 될 수 없음!!
final class CC { }

//class DD extends CC { }



public class Final {

}

0개의 댓글