Java

추상 클래스와 final 키워드

k0o9 2022. 5. 27. 20:09

추상클래스

미완성된 클래스라는 의미로 abstract 메서드를 하나라도 가지고 있을경우 추상클래스라고 한다.

미완성이기에 인스턴스 생성이 불가능하다.

상속을 통해서 자식클래스로 인해 완성되어진다.

추상클래스 자체로는 클래스의 역할을 못하지만 새로운 클래스를 작성하는데 바탕이 되는 조상클래스로서의 의미를 가진다.

abstract class 클래스명 {}

추상메서드

선언부만 작성하고 구현부는 작성하지 않은채 남겨둔 것이 추상메서드 이다.

메서드의 내용이 상속받은 클래스에 따라 달라질 수 있을때 주석을 남겨 어떤 기능을 수행할 목적을 남겨두고 선언부만 작성하여서 자식클래스에서 상속받아 구현한다.

abstract class parent {
    abstract void func();
}

class child extends parent {
    void func() {
        //구현
    }
}

final 키워드

변수에 사용할 시 값을 변경할 수 없는 ‘상수’가 된다.

메서드에 사용할 시 오버라이딩을 할 수 ㅇ벗게 된다.

클래스에 사용할 시 자손클래스를 정의하지 못하게 한다.

생성자를 이용하여 초기화

final이 붙은 변수는 상수이므로 일반적으로 선언과 동시에 초기화를 한다.

인스턴스 변수의 경우에는 생성자에서 초기화한다.