본문 바로가기

기술면접

JavaScript의 객체지향 프로그래밍

JavaScript는 객체지향 프로그래밍(OOP)을 지원하는 언어로, 객체를 기반으로 프로그램을 구성

객체는 속성(데이터)과 메서드(동작)를 포함
OOP의 주요 개념

  • 캡슐화: 객체의 속성과 메서드를 하나의 단위로 묶어 외부에서 직접 접근하지 못하도록 보호합니다.
  • 상속: 클래스가 다른 클래스의 속성과 메서드를 물려받아 재사용성을 높입니다.
  • 다형성: 상속받은 클래스들이 같은 메서드를 각자 다르게 구현할 수 있습니다.
  • 추상화: 복잡한 세부 사항을 감추고, 중요한 것만 노출하는 방식으로 시스템을 단순화합니다.

JavaScript는 ES6 이후 클래스 문법을 도입하여 객체지향 패턴을 더욱 쉽게 구현할 수 있게 되었으며, 프로토타입 기반 상속을 통해 객체 간 상속을 구현합니다.

 

 

Ex. "클래스와 추상화?"

  • 추상화 : 복잡한 시스템에서 중요한 부분만 드러내고 세부 사항을 숨기는 객체지향 프로그래밍(OOP) 개념
  • 클래스 : ES6에서 도입된 객체 생성을 위한 템플릿으로,  추상화를 구현하는 도구입니다.

=> 클래스는 추상화를 실현하는 수단, 클래스를 통해 중요한 속성 및 메서드만 정의하여 객체의 복잡성을 숨기고 단순화