▣ 상속이란?
상속은 객체 지향 프로그래밍(Object-Oriented Programming, OOP)에서 자식 클래스가 부모 클래스의 속성과 메서드를 물려받는 기능을 말합니다. 이를 통해 코드 재사용성을 높이고, 공통 기능을 한 곳에서 관리할 수 있어 유지보수성을 향상할 수 있습니다.
▣ 왜 사용하는가?
코드 재사용성: 공통된 기능을 부모 클래스에 정의하여 여러 자식 클래스에서 재사용할 수 있습니다.
유지보수성: 기능을 한 곳에서 관리하여 수정이 필요할 때 중복된 코드를 일일이 수정할 필요가 없습니다.
확장성: 기존 코드를 기반으로 새로운 기능을 쉽게 추가할 수 있습니다.
가독성: 중복 코드를 제거해 코드가 간결해지고 읽기 쉬워집니다.
▣ 언제 사용하는가?
여러 클래스가 공통된 속성과 메서드를 가질 때.
유사한 기능을 가진 클래스들이 있을 때.
기존 클래스를 확장하여 새로운 기능을 추가하고 싶을 때.
▣ 코드 설명
Animal 클래스:
name 속성과 Speak() 메서드를 가지고 있음.
모든 동물 클래스가 공통적으로 사용할 수 있는 기능 정의.
Dog 클래스:
Animal 클래스를 상속받아 Bark()라는 고유 메서드 추가.
Cat 클래스:
Animal 클래스를 상속받아 Meow()라는 고유 메서드 추가.
InheritanceExample 클래스:
Dog와 Cat 객체를 생성하고 부모와 자식 클래스의 메서드를 호출하여 기능 확인.
▣ 코드 설명
BaseAI.cs:
Search()와 Move() 메서드를 통해 모든 AI의 공통 동작 정의.
EnemyAI.cs:
Attack() 메서드를 추가해 적 AI의 고유 동작 정의.
FriendlyAI.cs:
Support() 메서드를 추가해 아군 AI의 고유 동작 정의.
TestAI.cs:
GameObject를 생성하고 EnemyAI와 FriendlyAI 컴포넌트를 추가하여 각각의 AI 동작 테스트.
'[ Unity ] > - 유니티 실습' 카테고리의 다른 글
유니티 namespace (0) | 2025.01.14 |
---|---|
유니티 new 키워드 (0) | 2025.01.13 |
유니티 GitHub 기본 연동방법 (0) | 2025.01.10 |
유니티 MonoBehaviour (0) | 2025.01.10 |
유니티 반복문 (0) | 2025.01.09 |
댓글