2023. 10. 24. 11:50ㆍGame Develop/C# Programming
이번 시간에는 저번시간에 했던 상속과, 가상 메서드 오버라이드를 활용해보려고 한다.
각 동물을 10마리씩 총 30 마리를 만들어 줄 것이다. 모든 동물이 각자 밥을 먹게 할 것이다.
다음은 위의 문제를 풀기위한 조건이다.
1. 토끼, 새, 호랑이 클래스를 만든다.
2. 각 동물은 이름과 색깔이 있다.
3. 토끼는 풀을 뜯어먹는다.
4. 새는 모이를 먹는다.
5. 호랑이는 다른 동물을 먹는다.
자 먼저 토끼 새 호랑이 클래스를 만들어 주기 전에 셋다 동물이니 동물 클래스를 만들어주자.
이름과 색깔을 가진 동물 클래스에 이름과 색깔을 정해줄 수 있는 생성자를 만들어줬다.
잘 작동하는지 알아보자
토끼, 새, 호랑이가 밥을 잘 먹는 것을 확인할 수 있다.
하지만 토끼는 풀을 먹어야 되고, 새는 모이를, 호랑이는 다른 동물을 잡아 먹어야한다.
그렇다면 이제 각각 토끼, 새, 호랑이 클래스를 만들어주도록 하자
먼저 Animal 클래스의 Eat() 메서드 가상 메서드로 만들어준다.
Animal 클래스를 상속받은 Rabbit과 Bird 클래스에서 Eat() 메서드를 오버라이드 해준다.
마지막 호랑이 클래스를 만들어보자.
호랑이는 다른 동물을 잡아먹기 때문에 Animal 클래스의 target 객체를 하나 선언해주고 SetTarget() 메서드를 통해서 target에 대입해주도록 하자
이제 모든 준비가 끝났으니. Main() 함수를 작성해보도록 하자
토끼에겐 미안하지만 모든 동물들이 배부르게 먹었으니 이번 포스팅은 여기서 마치겠다.
'Game Develop > C# Programming' 카테고리의 다른 글
C# Practicing(static & property) (0) | 2023.10.24 |
---|---|
C# Practicing(추상 메서드와 인터페이스) (0) | 2023.10.24 |
C# Practicing(상속, 가상 메서드) (1) | 2023.10.23 |
C# Practicing(클래스 심화(깊은 복사 VS 얕은 복사)) (1) | 2023.10.23 |
C# Practicing(클래스) (0) | 2023.10.23 |