Skip to content

Latest commit

 

History

History
28 lines (19 loc) · 1.31 KB

final.md

File metadata and controls

28 lines (19 loc) · 1.31 KB

final - 변경될 수 없는

변수에 사용되면 값을 변경할 수 없는 상수가 되며, 메소드에 사용되면 오버라이딩을 할 수 없게 되고 클래스에 사용되면 자신을 확장하는 자손클래스를 정의하지 못하게 된다.

final이 사용될 수 있는 곳 - 클래스, 메소드, 멤버변수, 지역변수


제어자 대상 의미
final 클래스 변경될 수 없는 클래스, 확장될 수 없는 클래스가 된다. final로 지정된 클래스는 다른 클래스의 조상이 될 수 없다.
final 메소드 변경될 수 없는 메소드, final로 지정된 메소드는 오버라이딩을 통해 재정의 될 수 없다.
final 멤버변수, 지역변수 변수 앞에 final이 붙으면, 값을 변경할 수 없는 상수가 된다. 정확히 말하면 초기화가 한번만 가능하다는 뜻입니다.

Example Code

public final class Test {                  // 조상이 될 수 없는 클래스 
    final int max_size = 100;              // 값을 변경할 수 없는 멤버 변수 (상수)
    
    final void getMaxSize() {              // 오버라이딩 할 수 없는 메소드
        final int localValue = max_size;   // 값을 변경할 수 없는 지역 변수 (상수)
    }
}