[Java] final 키워드가 뭔가요?

da__ell·2023년 2월 24일
0

JAVA

목록 보기
4/7
post-thumbnail

java에서 final 키워드는 변수, 메소드, 클래스 등에 적용될 수 있는 키워드이다. final 키워드를 사용하면 해당 변수, 메소드, 클래스가 변경될 수 없게 된다.

변수에 final 키워드를 사용한다면?

변수에 final 키워드를 사용하면, 해당 변수의 값이 한 번 설정된 이후 변경될 수 없다. 즉 상수와 같은 역할을 하게 된다. 변수에 값을 할당한 후에는 다른 값을 할당할 수 없으며, 컴파일러는 변수를 초기화 하지 않은 경우 오류를 발생시킨다.

final int a = 10;
a = 20; // 오류 발생!

메소드에 final 키워드를 사용한다면?

메소드에 final 키워드를 사용하면, 해당 메소드가 하위 클래스에서 override되지 못하도록 막을 수 있다. 즉 하위 클래스에서 해당 메소드를 재정의하는 것을 막을 수 있다.

class Parent {
  public final void print() {
    System.out.println("Hello World!");
  }
}

class Child extends Parent {
  public void print() { // 오류 발생!
    System.out.println("Hello Java!");
  }
}

클래스에 final 키워드를 사용한다면?

클래스에 final 키워드를 사용한다면, 해당 클래스를 상속할 수 없게 된다. 즉 final 키워드를 사용하면 하위 클래스를 만들 수 없다.

final class Parent {
  // ...
}

class Child extends Parent { // 오류 발생!
  // ...
}

그럼 final 키워드를 사용하는 이유는 뭐야?

  1. 안정성 보장
    해당 변수, 메소드, 클래스 등이 변경되지 않기 때문에 불변성을 보장한다. 변경시킬 경우 컴파일 단계에서 오류가 발생하므로 안정성이 높아지며 예기치 않은 버그를 방지할 수 있다.
  1. 코드 가독성 향상
    final 키워드를 사용하면, 해당 변수, 메소드, 클래스 등이 변경되지 않는다는 것을 코드에서 명확하게 알 수 있다.
profile
daelkdev@gmail.com

0개의 댓글