쌓고 쌓다
[JAVA] final 키워드 본문
final 키워드는 3가지로 사용된다.
1. final 클래스
final class finalClass{
}
class subClass extends finalClass // 컴파일 에러
{
}
클래스 앞에 final 키워드를 사용할 경우 그 클래스는 상속 받아 사용할 수 게 된다.
즉, final 클래스는 상속 받을수 없게 된다.
2. final 함수(메소드)
class superClass{
public final int sum(int a,int b)
{
return a+b;
}
}
class subClass extends superClass{
public int sum(int a,int b) // 컴파일 에러
{
return a+b+10;
}
}
함수에다 final 키워드를 사용한다면 그 함수는 오버 라이딩이 불가능해지고, 무조건 상속 받아 사용하게 해야 한다.
3. final 필드 ( 상수 만들기 )
class superClass {
final int MAX = 100000;
void g()
{
int arr[] = new int[MAX]; // 상수 활용
MAX=10; // 컴파일 에러 (변경 불가능)
}
}
필드에 final를 사용하면 그것은 상수가 된다.
상수 필드는 한번 초기화하면 변경이 불가능하다.
final 키워드를 public static과 함께 사용하면 어디든 사용이 가능한 상수가 된다.
class superClass {
final public static int MAX = 100000;
}
public class Main{
public static void main(String[] args) {
System.out.println(superClass.MAX);
}
}
같은 클래스라면 그냥 바로 사용이 가능하다.
class superClass {
final public static int MAX = 100000;
void Print()
{
System.out.println(MAX); // MAX를 바로 사용 가능
}
}
'프로그래밍 > java' 카테고리의 다른 글
[JAVA] 업 캐스팅, 다운 캐스팅 / instanceof 연산자 (0) | 2021.12.25 |
---|---|
[JAVA] super() 과 상속에서의 생성자 순서 (0) | 2021.12.25 |
[JAVA] static / 전역 함수, 전역 변수 (0) | 2021.12.23 |
[JAVA] 접근 지정 (0) | 2021.12.22 |
[JAVA] 함수(메소드) 오버로딩 (0) | 2021.12.22 |
Comments