1. final 변수
final의 의미는 최종의 라는 뜻입니다. 말그대로 더 이상의 값의 변화가 없어야 하는 변수가 있을 때 final을 붙여 final변수로 만듭니다.
예제1)
public class Webtest { public static void main(String[] args){ //*final int a; final int a = 1; int tempv = 2; //* a = tempv; tempv = a; } }
예제1의 소스코드 중 //*로 주석처리 한 부분이 에러가 생기는 부분입니다.
final은 최종이 되어야 하기 때문에 꼭 생성시에 초기화를 해주셔야 합니다.
그리고 생성한 이후에 다른 값으로 변경하는 것 또한 허용 되지 않습니다.
2. final class & method
final class나 method는 상속에 관여하게 됩니다.
예제2)
final public class Aclass { public void printhelloworld(){ System.out.println("Hello worldA"); } final public void Amethod(){ } } //*public class Bclass extends Aclass { @Override public void printhelloworld(){ System.out.println("Hello worldB"); } }
이런식으로 final로 선언된 Aclass를 상속하는 것은 불가능하고 상속이 안되기 때문에 오버라이딩또한 불가능합니다.
예제3
public class Aclass { public void printhelloworld(){ System.out.println("Hello worldA"); } final public void Amethod(){ } } public class Bclass extends Aclass { @Override public void printhelloworld(){ System.out.println("Hello worldB"); } //*@Override public void Amethod(){ } }
이런 식으로 final로 선언된 method는 상속했다 하더라도 오버라이딩이 불가능합니다.
'Java' 카테고리의 다른 글
[Java] .war .jar (0) | 2018.03.13 |
---|---|
[Spring] IntelliJ로SpringBoot 프로젝트 시작하기 (0) | 2018.02.02 |
[Java] 멤버변수:클래스 변수, 인스턴스 변수 (0) | 2016.08.03 |
[Java] JVM과 GC(Garbage Collection) : 자바가상머신과 쓰레기수집 (0) | 2016.08.03 |
[Java] Java 와 JVM (0) | 2015.01.05 |