JavaScript는 객체지향 프로그래밍(OOP)을 지원하는 언어로, 객체를 기반으로 프로그램을 구성
객체는 속성(데이터)과 메서드(동작)를 포함
OOP의 주요 개념
- 캡슐화: 객체의 속성과 메서드를 하나의 단위로 묶어 외부에서 직접 접근하지 못하도록 보호합니다.
- 상속: 클래스가 다른 클래스의 속성과 메서드를 물려받아 재사용성을 높입니다.
- 다형성: 상속받은 클래스들이 같은 메서드를 각자 다르게 구현할 수 있습니다.
- 추상화: 복잡한 세부 사항을 감추고, 중요한 것만 노출하는 방식으로 시스템을 단순화합니다.
JavaScript는 ES6 이후 클래스 문법을 도입하여 객체지향 패턴을 더욱 쉽게 구현할 수 있게 되었으며, 프로토타입 기반 상속을 통해 객체 간 상속을 구현합니다.
Ex. "클래스와 추상화?"
- 추상화 : 복잡한 시스템에서 중요한 부분만 드러내고 세부 사항을 숨기는 객체지향 프로그래밍(OOP) 개념
- 클래스 : ES6에서 도입된 객체 생성을 위한 템플릿으로, 추상화를 구현하는 도구입니다.
=> 클래스는 추상화를 실현하는 수단, 클래스를 통해 중요한 속성 및 메서드만 정의하여 객체의 복잡성을 숨기고 단순화
'기술면접' 카테고리의 다른 글
프레임워크, 라이브러리 (0) | 2024.10.02 |
---|---|
동기 처리, 비동기 처리 (0) | 2024.10.02 |
JavaScript의 데이터 타입, TypeScript의 데이터 타입 (0) | 2024.10.02 |
기술면접 - 9, 10, 11, 12 (0) | 2024.07.24 |
기술면접 - 5, 6, 7, 8 (0) | 2024.07.23 |