객체 지향 프로그래밍
객체 지향 프로그래밍은 프로그램 설계 철학이다.
- OOP에선 모든 것을 객체로 그룹화 한다
- 이 객체는 한번 생성된 후, 메모리 상에서 반환되기 전 까지는 내부가 그대로 유지된다.
- 이 객체는 위에서 언급한 '데이터와 기능을 한번에 묶는다'라는 원칙에 따라 메서드와 속성(어트리뷰트, 프로퍼티)가 존재한다.
- 클래스는 일종의 원형으로, 객체를 생성하기 위한 아이디어 혹은 청사진으로 이해한다. 여기에는 아직 세부적인 속성이 들어가있지 않은데, 세부사항을 넣는다면 인스턴스가 되는 것이다. 이 때, 세부사항을 넣어주는 역할을 하는 것이 constructor 함수이다.
class Polygon { constructor() { //constructor를 통해 name: 'Polygon'을 넣어준다 this.name = 'Polygon'; } } const poly1 = new Polygon();
코드를 복잡하지 않게 하고, 재사용성을 높인다.
코드를 복잡하지 않게 하고, 사용을 단순화해서 변화에 대한 영향을 최소화한다.
불필요한 코드를 줄여 재사용성을 높인다.
동일한 메서드에 if/else if 문을 사용하지 않고 객체에 특성에 맞게 작성하는 것이 가능하다.