TIL, 6주차 월요일

CUE·2021년 5월 11일
0

TIL

목록 보기
29/43
post-thumbnail

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)
❸ 상속 (부모 클래스 속성 자식 사용 가능)
❹ 다형성 (차의 색이 여러개인 것와 비슷한 맥락)

profile
archive

0개의 댓글