class Animal {
constructor(color) {
this.color = color;
}
eat() {
console.log('먹자!');
}
sleep() {
console.log('잔다');
}
}
class Tiger extends Animal {}
const tiger = new Tiger('노랑이');
console.log(tiger);
tiger.sleep();
class Dog extends Animal {
// 함수를 추가한다.
constructor(color, ownerName) {
// super Animal 을 말한다.
super(color);
this.ownerName = ownerName;
}
play() {
console.log('놀자아~');
}
// 오버라이딩 overriding
// animal 있는 메소드를 덮어씌운다!!!!
eat() {
super.eat(); // 먹자! 가 출력이 된다. super 부모를 가지킨다.
console.log('강아지가 냠냠 먹는다!');
}
}
const dog = new Dog('갈색', '엘리');
console.log(dog);
dog.sleep();
dog.play();
dog.eat();
오버라이딩 상속 추가 함!
//카운터를 만들기
// 0이상의 값으로 초기화 한 뒤 하나씩 숫자를 증가할 수 있는 카운터를 만들기
// Counter 클래스 만들기
바로 클래스 만들지 말고 고객입장에서 먼저 카운터를 변수 초기화 하기
클래스 내용
클래스 Counter 만들어서 #value 라고 고정 값을 지정한다.
만약에 외부에서 들어오는 값이 숫자가 아니거나 0이하 인 경우는 value 값을 0으로 표현해라
그리고 value를 전달해얗니깐 get value 만듦
그리고 외부에서 들어온 값이 정수인경우면 증가시키기
0이란 숫자를 넣으면
1이 증가된걸 보인다 .
근데 음수의 값을 넣는다고 1이 증가되는건 아님 위에다가 정수 아니면 value를 0으로 표현하라고함
그래서 log로 값을 전달하도록 만듦
근데 아쉬운건 하나하나 호출해야해서 좀 아쉬움
'코딩 > 자바스크립트 JS 드림코딩' 카테고리의 다른 글
JS Boolean / falshy, truthy (0) | 2022.12.01 |
---|---|
JS 클래스 세터와 게터 (0) | 2022.11.30 |
자바스크립트 JS 클래스 (0) | 2022.11.30 |
자바스크립트 함수 , 불변성 (0) | 2022.11.30 |
자바스크립트 JS 반복문 (0) | 2022.11.30 |