본문 바로가기
JAVA-Spring/각종 메소드

JAVA 자바 [ 객체 지향 프로그래밍 ] Final

by Super Santj 2019. 7. 23.

자바의 거의 마지막 문법이다. final !

변경이 불가능하다는것을 보여주는 사진 예제

final + 멤버변수 또는 지역변수 => 상수화가 도니다. (고정)=> 전부 대문자로 쓴다.

final int COUNT = 1;

상수화변수 -> 값이 한번 저장이 되면 중간에 값을 변경 할수가 없다. 상수화된 변수는 더이상 변수로써의 목적보다는 단순 출력으로의 목적이 강하다..

2. final 메소드명() -> 상속은 허용해주지만 오버라이드(=재정의)를 금지 해주고 싶은 메소드, 상속만 가능하다.

final이 기록된 메소드를 상속받아 오버라이딩(수정) 하려할때 오류가 발생한다.


public int sum(int a, int b) {
      return(a+b);
  }

해당 메소드를 오버라이딩을 해주고 싶다면 충분히 가능은 하다. 여기서 오버라이딩은 부모에게 물려받은 메소드를 자식 클래스에서 약간 변화를 시켜서 사용한다라는 의미인데, 만약 메소드 앞에 final을 붙여주면 오버라이딩이 안된다는 것이다.

3. final class 클래스명 => 상속금지 클래스는 허용을 안해준다는것이고, 허용을 안해준다는것은 가장 중요한 클래스이다라는 의미이다. 그리고 대표적으로는 system 클래스는 상속이 안된다.

이렇게 Class 에도 final을 적용 시킬수가 있다. 상속조차 안되게 할수있는 방법이있다.

 

댓글