본문 바로가기
개발 수업/JAVA

[Java] final,상수(static final)

by 오늘 하루s 2023. 5. 16.
728x90
더보기

Day13-2. 230516

final과 상수

final

  • final class

- 하위클래스가 존재할 수 없다.

 

  • final field :

- 최종적인 값을 갖고 있는 필드

- 선언 시 값을 초기화, 초기값은 변경할 수 없음.

 

  • final method

- 오버라이딩 할 수 없다.

 

 

상수(static final)

- 불변의 값

- 상수는 static이면서 final 이어야 함.

- static final 필드는 객체마다 존재하지 않고 클래스에만 존재.

static final 타입 상수 = 초기값;

 

- 상수 이름은 모두 대문자로 작성하는 것이 관례

static final double PI = 3.14159;
static final double EARTH_RADIUS = 6400;

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package chap0607;
 
public class Final01 {
        int a = 10
        final int b = 10;
        static final int C = 100;  //상수
        
        void test() {
            a = 100;
            //b = 100; 값을 배정할 수  없음.
        }
        final void test2() {}
}
 
class C1 extends Final01{
    @Override
    void test() {
        System.out.println("부모클래스의 test()를 오버라이딩 함.");
    }
    void method1() {}
    
    /*@Override
    void test2() {} //final 메소드 오버라이딩 불가*/
}
 
final class Final02{}
//class C2 extends Final02{} //에러발생 : final로 선언클래스 Final02을 상속받을 수 없다.
cs

 

728x90