2025년 2월 2일 일요일

추상클래스

예제: 추상 메서드 없이 추상 클래스


abstract class MyAbstractClass { void concreteMethod() { System.out.println("This is a concrete method."); } }

위 클래스는 추상 메서드가 없지만, abstract 키워드가 붙었기 때문에 객체를 직접 생성할 수 없음


그렇다면, 왜 추상 메서드 없이 추상 클래스를 만들까?

  1. 객체 생성을 막기 위해
    abstract 키워드를 사용하면 해당 클래스를 직접 인스턴스화할 수 없도록 제한할 수 있습니다.

  2. 공통된 기능을 하위 클래스에서 사용하도록 하기 위해
    → 추상 클래스는 일반 메서드를 포함할 수 있으므로, 공통 기능을 제공하고 상속만 허용할 수 있습니다.


 예제: 상속 후 객체 생성

class SubClass extends MyAbstractClass {
// 추가 기능 정의 가능 } public class Main { public static void main(String[] args) { SubClass obj = new SubClass(); // 객체 생성 가능 obj.concreteMethod(); // "This is a concrete method." } }

- MyAbstractClass는 인스턴스를 직접 만들 수 없지만,
- SubClass가 상속받으면 객체 생성이 가능





댓글 없음:

댓글 쓰기