학습 공간 개념 · 판단 · 실험

Fanta Lab

질문 32 · 실전 면접 답변

JavaScript 클래스는 어떤 기능을 제공하나요?

이렇게 답해 보세요 (핵심 답변)

JavaScript의 class는 생성자(constructor), 인스턴스·정적(static) 메서드, 필드, extends/super 상속을 선언하는 문법이며 내부적으로는 프로토타입 체인 위에서 동작합니다. 일반 메서드는 prototype 객체에 등록되어 인스턴스들이 공유하고, 인스턴스 필드는 개별 객체마다 생성됩니다. 또한 클래스 본문은 자동으로 엄격 모드로 실행되고 new 없이 호출할 수 없으며, #으로 시작하는 private 필드로 런타임 외부 접근을 차단할 수 있습니다.

함께 설명하면 좋은 이유 (꼬리질문 대비)

  1. extends와 super를 사용하면 부모 클래스의 생성자와 메서드를 프로토타입 체인으로 안전하게 연결하고 호출할 수 있습니다.
  2. 클래스의 인스턴스 메서드라도 이벤트 콜백 등으로 떼어내 전달하면 this가 유실될 수 있으므로 bind나 래퍼 함수로 수신자를 지켜야 합니다.

면접에서 자주 하는 실수

클래스를 단순한 문법 설탕(syntactic sugar)이라고만 표현하면 new 강제, 클래스 본문 엄격 모드, #private 필드 같은 고유 규칙을 놓치기 쉽습니다.

원리와 예제까지 읽기

공식 참고 자료

질문 목록 출처 ↗ · 원본 32번을 바탕으로 질문과 답변을 새로 정리했습니다.

← JavaScript