TIL, 6주차 월요일
Section2가 시작되었다.
새로운 섹션의 시작은 클래스와 프로토타입 !
JS는 프로토타입의 언어이지만, 객체 지향 프로그래밍이 가능하다.
하나의 모델이 되는 청사진을 만들고, 이를 바탕으로 인스턴트 객체를 생성하였다. 빗대어 표현하자면 아반떼를 만드는 큰 틀은 class
(청사진)이고, 색별로 나오는 각 컬러를 instance object
라고 말할 수 있다.
그래서 class의 부모는 가지고 있고 자식에서는 찾을 수 없는 프로토가 존재한다. 이를 찾아보고 싶으면 __proto__
를 사용하여 찾아볼 수 있다.
클래스 생성 방법
class Car {
constructor (name, age, gender) {
this.name = 'john';
this.age = 32;
this.gender = 'male';
}
eat() {
}
sleep() {
}
}
*constructor에서 return을 사용하지 못한다.
this를 이용해 할당이 가능하다.
eat, sleep과 같은 함수도 넣을 수 있다.
let something = new Something('apple','banana')
도 가능
상속
클래스를 사용하는 방법은 생각보다 간단했다.
extends와 super를 사용한다.
class NewCar extends Car {
constructor(name, age, job) {
super(name, age) => Car에서 상속받는 것들
this.name = 'haily';
this.job = 'student';
}
이를 이용해서 페어와 23개 정도의 문제를 풀었다.
key point !
OPP의 4가지 특징
❶ 캡슐화 (느슨한 결합, 은닉)
❷ 추상화 (기능만 사용, 로직 알 필요 x)
❸ 상속 (부모 클래스 속성 자식 사용 가능)
❹ 다형성 (차의 색이 여러개인 것와 비슷한 맥락)
Author And Source
이 문제에 관하여(TIL, 6주차 월요일), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@heycue/TIL-6주차-월요일저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)