final 정의
작성자 정보
- 작성자 최고관리자
- 작성일
컨텐츠 정보
- 조회 300
본문
// 변수를 final 정의...
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
final int number = 10;
number = 5; // 위에서 number 가 final로 정의되어 변경불가!!! 에러발생
System.out.println(number);
}
}
// 함수를 final 정의하지 않음
Parent.java ----------------------------------------------
public class Parent {
public void show() {
System.out.println("Hi~!");
}
}
Main.java ----------------------------------------------
public class Main extends Parent {
public void show( ) {
System.out.println("No! Hi~!");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Main main = new Main();
// Parent의 show가 final로 정의되지 않았기 때문에 main의 show가 실행되어 No! Hi~! 출력된다.
main.show();
}
}
// 함수 show를 final 정의
Parent.java ----------------------------------------------
public class Parent {
public final void show() {
System.out.println("Hi~!");
}
}
Main.java ---------------------------------------------- (Parent 상속)
public class Main extends Parent {
// final void show() 정의되어 재정의 불가...
public final void show( ) {
System.out.println("No! Hi~!");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Main main = new Main();
// Parent의 show가 final로 정의되지 않았기 때문에 main의 show가 실행됭되어 출력된다.
main.show();
}
}
// 클래스를 final 정의
final class Parent {
public void show() {
System.out.println("Hi~!");
}
}
// Parent가 final 정의가 되어 있어 상속(extends)도 받을 수 없다.
public class Main extends Parent { // <----- 에러 발생
public void show( ) {
System.out.println("No! Hi~!");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Main main = new Main();
// Parent의 show가 final로 정의되지 않았기 때문에 main의 show가 실행됭되어 출력된다.
main.show();
}
}
관련자료
-
이전
-
다음
댓글 0개
등록된 댓글이 없습니다.