...

[JAVA] Final 이란? 본문

언어/JAVA 자바

[JAVA] Final 이란?

gi2 2022. 3. 3. 15:39

'Final'

초기값이 저장되면 최종적인 값이 되어 프로그램 실행 도중 어떠한 변경도 할 수 없게 됨. 

 

Final의 사용법 

[1] final 필드 이용하기 

Final int number = 0;

[2] final 객체 이용하기 

객체 변수에 final을 선언하면 그 변수에 다른 참조 값 지정 불가능

한 번 생성된 final 객체는 같은 타입으로 재생성 불가능

객체 자체는 변경 불가능 , 객체 내부 변수는 변경 가능!

class Person{
    int age = -1;

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

public class Final_ex {
    public static void main(String[] args) {
    	final Person person = new Person();
    	//person = new Person(); //객체를 한번 생성했다면 재생성 불가능
    	person.setAge(9); //클래스의 필드는 변경가능
    }
}

[3] final 클래스 이용하기 

클래스에 final을 사용하면 더이상 그 클래스를 상속할 수 없음

//final 클래스
final class Person{
    String name = "xxx";
}

//상속 불가능
class Girl extends Person{
	
}

[3] final 메서드 이용하기 

클래스 내의 final 메서드를 사용하게 되면 상속받은 클래스는 그 메서드를 오버라이드 할 수 없음. 

즉, 자신의 메서드를 변경하지 못하도록 하는 기능을 함.

class Person{
	
    String name = "xxx";

    public final void print() {
        System.out.println("이름은 :"+name+" 입니다.");
    }
}

class Girl extends Person{
	
    String name = "xxx_G";
	
    //메서드 오버라이드 불가능
    public void print() {
		
    }
}
Comments