OOP(객체 지향 프로그래밍)
Object-oriented Programming
OOP는 컴퓨터 프로그래밍 설계철학(사고, 견해)이다.
OOP는 프로그래밍에 필요한 데이터를 객체로 만들어 그 객체 간에 상호작용을 구성하는 방법이다.
- 클래스
original form. 객체를 생성하기 위한 설계도.
생성자함수를 포함한다.- 생성자를 통해 속성을 넣는다.
- 인스턴스
설계도를 바탕으로 구현된 구체적 실체
생성된 복제본
- 장점
코드 단순화
재사용성
개발과 보수가 간편
- OOP의 4가지 주요키워드
- 캡슐화
속성과 메소드를 한 객체 안에 묶는것
내부데이터, 디테일한 구현은 숨기고 동작만 노출시키는 것
- 상속
기본 클래스의 특징을 파생 클래스가 상속받는다.
부모에게 받아와 변경하여 사용한다.
- 추상화
필요한 정보만 표현하여 단순하게 만든다.
- 다형성
하나의 메소드가 여러 클래스에서 다른 기능을 할 수 있고,
인자의 개수나 자료형에 따라서 다른 기능을 할 수 있다는 것을 의미.
Prototype
prototype: 모델의 설계도를 만들 때 쓰는 원형객체
constructor: 인스턴스가 초기화될 때 실행하는 생성자 함수
모든 함수에는 prototype이라는 속성이 있다.
prototype chain
출처 codestates
상속의 가장 상위단계에 object가 있고 모든 객체는 object 상속받기 때문에 해당 proto에 없는 메소드가 object에 있으면 사용할 수 있는 것이다.