Java - final
2020. 8. 23. 18:18ㆍJava/Java
반응형
자바에서는 상수를 선언하기 위해 final을 사용한다. 변수등에 final이 붙게 된다면 더이상 수정이 불가능하다.
1. 변수 앞 final
=> 변수에 새로운 값 대입 불가
2. 메서드앞에 final
=>상속은 허용해주는데 특별히 중요한 메서드만 오버라이딩 금지 하기위한 목적
3. 클래스 앞에 final
=>처음부터 상속자체가 불가->모든 메서드는 오버라이딩 불가
예제 소스
//3.final class 클래스명=>상속금지 클래스=>허용X=>중요한 클래스(System)
final class Parent{
//1.final + 멤버변수 또는 지역변수=>상수화가 된다.(값이 고정)=>전부 대문자로 사용
final int COUNT=1;
//2.final + 메서드=>상속은 허용해주지만 오버라이딩(=재정의)만 금지시킬때 사용
final void sub() {
System.out.println("재정의 금지 메서드");
}
//메서드의 본래기능과 동떨어진 내용으로 변경되는 것을 막기위해서 사용하는 기법=>System클래스
final void sum(int a,int b) {
System.out.println("a+b=>"+(a+b));
}
}
public class FinalTest extends Parent {
//int count=1;
/*
void sub() {
System.out.println("재정의 가능한 메서드");
}
void sum(int a,int b){
System.out.println("test");
}
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Parent p=new Parent();
// p.count=5;
System.out.println("p.COUNT=>"+p.COUNT);
}
}
반응형
'Java > Java' 카테고리의 다른 글
Java - 추상메서드, 인터페이스 (0) | 2020.08.23 |
---|---|
Java - static(정적) (0) | 2020.08.23 |
Java - 접근지정자 (0) | 2020.08.23 |
Java - 상속(2) - super() (0) | 2020.08.23 |
Java - 상속(1) (0) | 2020.08.23 |