[Java] Java 추상 클래스 (Abstract Class) #14

소개

자바(Java) 프로그래밍에서 추상 클래스(Abstract Class)는 객체 지향 프로그래밍의 중요한 요소 중 하나입니다. 이 글에서 Java 추상 클래스가 무엇이며 어떻게 사용되는지에 대해 전문적으로 설명하겠습니다. 동시에 초보자들도 쉽게 이해할 수 있도록 친근하게 설명하겠습니다.

추상 클래스란?

추상 클래스는 하나 이상의 추상 메서드를 포함할 수 있는 클래스입니다. 추상 메서드는 본체가 없는 메서드로, 하위 클래스에서 구현되어야 합니다. 추상 클래스는 인스턴스를 직접 생성할 수 없으며, 이를 상속하여 하위 클래스에서 추상 메서드를 구현한 후에야 비로소 인스턴스를 생성할 수 있습니다.

추상 클래스의 활용

추상 클래스는 언제 사용되는 걸까요? 주로 다음과 같은 경우에 활용됩니다.

  • 일부 메서드의 구현을 강제: 하위 클래스에서 특정 메서드를 반드시 구현하도록 강제함으로써 특정 기능을 제공합니다.
  • 추상 클래스 간의 계층 구조: 여러 추상 클래스가 상속되어 다양한 기능을 조합한 클래스를 만들 수 있습니다.
  • 코드 재사용: 공통된 기능을 갖는 클래스들이 추상 클래스를 통해 코드를 재사용할 수 있습니다.
[Java] Java 추상 클래스 (Abstract Class) #14

추상 클래스의 선언

추상 클래스는 abstract 키워드를 사용하여 선언됩니다. 추상 메서드는 선언만 하고 본체는 없습니다.

public abstract class Shape {
    // 추상 메서드 선언
    public abstract void draw();

    // 일반 메서드도 포함 가능
    public void resize() {
        System.out.println("크기를 조절합니다.");
    }
}

추상 클래스의 상속과 구현

하위 클래스에서는 추상 클래스를 상속하고 추상 메서드를 반드시 구현해야 합니다.

public class Circle extends Shape {
    @Override
    public void draw() {
        System.out.println("원을 그립니다.");
    }
}

추상 클래스의 인스턴스 생성

추상 클래스는 직접 인스턴스를 생성할 수 없습니다. 하지만 하위 클래스의 인스턴스를 생성하여 사용할 수 있습니다.

public class Main {
    public static void main(String[] args) {
        Shape circle = new Circle();
        circle.draw();   // 하위 클래스에서 구현된 draw 메서드 호출
        circle.resize(); // 추상 클래스에 구현된 resize 메서드 호출
    }
}

마무리 Java 추상 클래스

이렇듯 추상 클래스는 자바 프로그래밍에서 중요한 역할을 하고 있습니다. 상속을 통한 유연한 구조를 제공하며, 추상화를 통해 공통된 기능을 효과적으로 관리할 수 있습니다. 자바 개발에서 객체 지향의 핵심을 이해하고 활용하기 위해 추상 클래스에 대한 이해는 필수적입니다.

더 많은 자세한 내용은 공식 자바 문서에서 확인할 수 있습니다. 프로그래밍 여정에서 추상 클래스를 마주하게 되면, 이 기사가 도움이 되길 바랍니다. 언제나 코드를 작성하는 즐거움과 함께, 추상 클래스에 대한 깊은 이해를 가지시기를 바랍니다.

[Java] Java 다형성 (Polymorphism) #13
[Java] Java 다형성 (Polymorphism) #13
[Java] Java 인터페이스 (Interface) #15
[Java] Java 인터페이스 (Interface) #15

Leave a Comment