Abstract 함수 사용 방법 및 예시
객체지향 프로그래밍(OOP)에서 추상 클래스와 추상 함수는 중요한 개념입니다. 추상 클래스는 인스턴스를 만들 수 없는 클래스이며, 하나 이상의 추상 함수를 포함합니다. 추상 함수는 구현이 없는 메소드로, 이를 상속받는 자식 클래스에서 반드시 구현해야 합니다. 이제 추상 함수의 사용 방법과 예제를 살펴보겠습니다.
추상 클래스와 추상 함수란?
추상 클래스는 다른 클래스들이 상속받기 위한 기반 클래스로, 직접 인스턴스를 생성할 수 없습니다. 추상 클래스는 하나 이상의 추상 메소드를 포함할 수 있으며, 추상 메소드는 메소드 몸체가 없는 메소드입니다. 추상 메소드는 자식 클래스에서 반드시 구현해야 합니다.
추상 클래스 정의 예시
abstract class Animal {
abstract void makeSound(); // 추상 메소드
void sleep() {
System.out.println("This animal is sleeping.");
}
}
추상 함수 구현 예시
추상 클래스를 상속받는 자식 클래스는 반드시 추상 메소드를 구현해야 합니다. 다음은 추상 클래스를 상속받아 추상 메소드를 구현하는 예제입니다:
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("멍멍");
}
}
class Cat extends Animal {
@Override
void makeSound() {
System.out.println("야옹");
}
}
public class Main {
public static void main(String[] args) {
Dog myDog = new Dog();
myDog.makeSound(); // 멍멍
myDog.sleep(); // This animal is sleeping.
Cat myCat = new Cat();
myCat.makeSound(); // 야옹
myCat.sleep(); // This animal is sleeping.
}
}
왜 사용하는가?
추상 클래스와 추상 함수를 사용하는 이유는 다음과 같습니다:
- 코드 재사용성: 공통된 기능을 추상 클래스에 정의하여, 이를 상속받는 클래스들이 재사용할 수 있습니다.
- 다형성: 추상 클래스를 상속받은 다양한 클래스들이 추상 메소드를 각기 다르게 구현함으로써, 다형성을 실현할 수 있습니다.
- 유지보수 용이: 공통 기능을 한 곳에 모아 관리함으로써, 코드의 유지보수를 쉽게 할 수 있습니다.
결론
추상 클래스와 추상 함수는 객체지향 프로그래밍에서 코드의 재사용성과 유연성을 높이는 중요한 도구입니다. 이를 통해 개발자는 더 구조적이고 관리하기 쉬운 코드를 작성할 수 있습니다. 추상 클래스를 사용하면 공통된 기능을 효과적으로 재사용하고, 각 클래스에 맞는 구체적인 동작을 구현할 수 있습니다.
'Java' 카테고리의 다른 글
[Java]자바에서 HashMap 사용하기 (0) | 2024.06.04 |
---|---|
[Java]자바에서 문자열 다루기: 생성부터 변환까지 (0) | 2024.06.03 |
[Java]super 키워드 및 메소드 오버라이딩 (0) | 2024.06.03 |
[Java] 클래스 상속 및 Protected 접근 제어자 (0) | 2024.06.03 |
[JAVA]자바에서 getter / setter 함수 사용 (0) | 2024.06.03 |