코드스테이츠 프론트엔드 부트캠프-Section2 BeeBeeBee 과제 의사코드

그래도 아무튼 개발자·2023년 3월 16일
0

Front_End

목록 보기
6/12
post-thumbnail

실수로 인해 종합퀴즈 2문제를 드랍해버렸다...
결국 3문제가 틀리면서 반딧불(나머지)공부 대상자가 되어버렸다
뭐 실수도 실력이니 일단 과제를 진행해보자

├── Grub
│ └── Bee
│ ├── HoneyMakerBee
│ └── ForagerBee

부모 자식 클래스 상속에 관한 과제이다.
위의 class structure에서 볼 수 있는 것처럼, 모든 Bee는 Grub을 기반으로 하여 각자의 특성에 맞는 일을 받게 되는데, 공통된 특성을 기반으로 각자에게 맞는 특성을 부여받을 수 있는 것은 상속이 이루어졌음을 의미하게 된다.

우선 Grub의 코드를 의사코드로 분석해보자
속성으로는 age, color, food를 가져야하고, eat 메서드가 존재해야한다.

class Grub {
	age, color, food 속성 생성{
    	해당 인스턴스의 age, color, food 지정
    }
    eat 메서드 생성 {
    	'Mmmmm' 과 위의 food 출력
    }
}

이러한 방식으로 코드가 진행될 것이다.
이후 이러한 Grub의 클래스를 상속받는 Bee에 대해서도 의사코드로 분석해보자
Bee클래스는 Grub의 요소들 외에도 job 속성이 추가된다.

Grub에게서 상속받고 있는 Bee 클래스 선언 {
	age, color, food, job 속성 생성 {
    	age, color, food는 상속받기에 패스
        해당 인스턴스의 job 지정
    }
}

이러한 방식으로 코드가 진행된다.
또 이러한 Bee 클래스를 상속받는 두 개의 클래스가 있다. 첫번째로 HoneyMakerBee 클래스를 의사코드로 분석해보겠다..

Bee에게서 상속받는 HoneyMakerBee 클래스 선언 {
	age, color, food, job, honeyPot(새로 추가됨) 속성 생성 {
    	age, color, food, job은 패스
        해당 인스턴스의 honeyPot 설정
    }
    새로운 메서드의 등장<makeHoney> {honeyPot 증가되도록}
    새로운 메서드의 등장<giveHoney> {honeyPot 감소되도록}
}

이렇게 진행되는 것으로 보여진다.
마지막 클래스인 ForagerBee 클래스를 보겠다.

Bee에게서 상속받는 ForagerBee {
	age, color, food, job, canFly(새로추가), treasureChest(새로추가) 속성 생성! {
    	age, color, food, job은 패스
        canFly랑 treasureChest 조건에 맞게 설정
    }
    새로운 메서드 등장<forage> {지정된 treasure가 배열에 추가되도록 설정}
}

뭐 이러한 방향으로 진행되지 않을까 생각한다.
의사코드로 정리해보니 확실히 이해하기 쉬워진다. 코드를 시작하기 전에 의사코드를 먼저 하고 가는 것이 중요하다는 것을 다시한번 깨닫게되는 이번 반딧불공부였다...😂😂 다시는 반딧불에 가지 않으리

0개의 댓글