클래스
2021.04.23 - [WEB/Java Script] - [Java Script] 객체 생성자/ 프로토타입 공유/ 상속
위의 내용을 클래스로 표현을 해보았다.
class Animal{
constructor(type,name, sound){
this.type = type;
this.name = name;
this.sound = sound;
}
// 함수를 만들게 되면 자동으로 프로토타입으로 설정이 된다.
say(){
console.log(this.sound);
}
}
const dog = new Animal ('개', '멍멍이','멍멍');
const cat = new Animal ('고양이', '야옹이','야옹');
dog.say();
cat.say();
자바의 클래스랑 거의 똑같다
휴 다행
2020.10.07 - [JAVA/java 이론] - [자바JAVA] 객체지향개념1 - 클래스와 객체, 클래스 접근 제어자, 메서드 구성
class Animal{
constructor(type,name, sound){
this.type = type;
this.name = name;
this.sound = sound;
}
// 함수를 만들게 되면 자동으로 프로토타입으로 설정이 된다.
say(){
console.log(this.sound);
}
}
class Dog extends Animal{
constructor(name,sound){
super('개',name, sound);
}
}
class Cat extends Animal{
constructor(name,sound){
super('고양이',name, sound);
}
}
const dog = new Dog('멍멍이', '멍멍');
const cat = new Cat('야옹이', '야옹');
dog.say();
cat.say();
상속을 받을때도 더 쉽게 사용할 수 있다.
extends로 상속을 받아주고
constructor에서는 super(조상)의 constructor을 호출한다.
예제
class Food{
constructor(name){
this.name = name;
this.brands = [];
}
// 메서드
addBrand(brand){
this.brands.push(brand)
}
print(){
console.log(`${this.name}을 파는 음식점들 : `)
console.log(this.brands.join(', '));
}
}
const pizza = new Food('피자');
pizza.addBrand('피자헛');
pizza.addBrand('도미노피자');
const chicken = new Food('치킨');
chicken.addBrand('굽네');
chicken.addBrand('bbq');
pizza.print();
chicken.print();
728x90
'WEB > Java Script' 카테고리의 다른 글
[Java Script] Truthy and Falsy/ 확인하는 방법 (0) | 2021.04.23 |
---|---|
[Java Script] 삼항 연산자, 삼항 연산자의 중첩 (0) | 2021.04.23 |
[Java Script] 객체 생성자/ 프로토타입 공유/ 상속 (0) | 2021.04.23 |
[Java Script] 배열 내장함수 / reduce : 배열안에 알파벳이 몇개씩 들어있는지 확인하기 (0) | 2021.04.23 |
[Java Script] 배열 내장 함수/ reduce 함수로 sum, avg구하기 / 합계 평균 구하기 (0) | 2021.04.23 |