6.3 상속과 다형성

약 4분

본문 듣기
읽기 설정

글자 크기

줄 간격

글꼴

6.3 상속과 다형성

상속과 다형성은 객체지향 프로그래밍의 주요 개념으로, 코드의 재사용성을 높이고 유연한 시스템 구조를 만드는 데 큰 도움이 됩니다. 상속은 기존 클래스의 속성과 동작을 물려받아 새로운 클래스를 만드는 것을 의미하며, 다형성은 같은 메소드가 다양한 객체에서 다르게 동작할 수 있도록 하는 기능입니다.

상속

상속을 통해 우리는 코드의 중복을 줄이고, 기존 클래스를 확장하여 새로운 기능을 쉽게 추가할 수 있습니다. 예를 들어, 기본 '동물' 클래스를 만들어 그 클래스를 상속받는 '개'와 '고양이' 클래스를 만들 수 있습니다.

class Animal {
    public function speak() {
        return "Some sound";
    }
}

class Dog extends Animal {
    public function speak() {
        return "Bark";
    }
}

class Cat extends Animal {
    public function speak() {
        return "Meow";
    }
}

위의 코드는 'Animal' 클래스에서 기본 "speak" 메소드를 정의하고, 'Dog'와 'Cat' 클래스에서는 이를 오버라이드하여 각각의 소리를 반환하도록 합니다.

다형성

다형성을 구현하기 위해 인터페이스 또는 추상 클래스를 사용할 수 있습니다. 인터페이스를 사용하면 클래스들이 특정 메소드를 반드시 구현하도록 강제할 수 있습니다.

interface Animal {
    public function speak();
}

class Dog implements Animal {
    public function speak() {
        return "Bark";
    }
}

class Cat implements Animal {
    public function speak() {
        return "Meow";
    }
}

이와 같이, 인터페이스를 통해 다형성을 적용하면 다양한 동물 클래스들이 "speak" 메소드를 구현할 수 있습니다.

실습

기본 동물 클래스를 만들어보세요. 그 후, 이를 상속받는 다양한 동물 클래스(예: "Bird", "Fish")를 만들어 각 동물마다 다른 소리가 출력되도록 구현하세요.
2.
인터페이스를 이용하여 동물 클래스들을 다시 정의해보세요. 각 클래스가 동일한 메소드(예: "speak")를 구현하도록 하세요.

프로젝트

동물원 관리 시스템의 일부로, 동물들의 정보를 관리하는 클래스를 설계해 보세요. OOP의 상속과 다형성을 사용하여 동물들의 기본 정보를 관리할 수 있는 시스템을 구축하세요.

정리

상속과 다형성을 활용하면 코드의 효율성을 높이고 유지보수를 용이하게 할 수 있습니다. 이러한 개념들은 실제 개발에서 매우 중요한 역할을 합니다.
이러한 원리를 잘 이해한 후에는, PHP 프레임워크인 Laravel을 배우는 데 큰 도움이 될 것입니다.

댓글 0

댓글을 남기려면 로그인하세요.

아직 댓글이 없습니다. 첫 댓글을 남겨보세요.