어제 미리 개념학습을 마쳤기떄문에 미리 간단하게 과제를 해보았다.
과제를 간단하게설명하자면
요런 class구조로 만들어낸후 각 인스턴스들의 다른 속성값이나 메서드를 정해주면된다.
테스트 요소들은 다음과같다.
먼저 시작전에 구조도에따라서 가장 상위에있는 Grub 부터 수정해주기로한다.
잠깐 어제 공부했던 내용을복습해보자면 class의 속성과 메서드를 집어넣는 과정에서 작성방법이
ES5 와 ES6가있다고했었다.
간단하게정리하면 ES5 는 function(속성,값들,넣기)
ES6 class=constructor(){this.속성=;}
요런구조였다.
나는 메서드까지 한 class 괄호안에 넣을수있는 간단한 ES6를 선택했다.
class Grub {
constructor(){
this.age = 0;
this.color = 'pink';
this.food = 'jelly';
}
eat(){
return 'Mmmmmmmmm jelly'
}
// TODO..
}
자 그럼 다음으로 grub아래있는 Bee를살펴볼차례다.
const Grub = require('./Grub');
class Bee extends Grub{
// TODO..
constructor(){
super();
this.age =5;
this.color ='yellow'
this.job ='Keep on growing'
}
}
module.exports = Bee;
const Grub = require('./Grub'); -->요부분은 자바스크립트파일을 나눳기때문에 require(절대경로)를 통해서 Grub 스크립트 파일을 끌어온것이다. 만약 한 스크립트파일내에서 상속을 할경우에는 extends 와 super만 필요해서 이과정이 필요없는것 정도로 정리할수있을것같다.
class Bee extends Grub{
// TODO..
constructor(){
super();
this.age =5;
this.color ='yellow'
this.job ='Keep on growing'
}
}
module.exports = Bee;
extends를 활용해 부모요소인 Grub을 가져왔고 super을통해 끌어왔다.
super는 사용시 this가 나오기전에 사용해야하고 한번이상사용불가능하다.
그러면 나머지 하위카테고리인 벌들의종류는 위 설명한내용으로 전부구현이가능하며 작성은 생략하도록하겠다.