OPEN HYPER STEP
← 목록으로 (TypeScript)
TS · 11 / 34
ts
CHAPTER 11 / 34
읽기 약 2
SYNTAX

클래스와 접근 제어자 해부


핵심 개념

TypeScript 클래스는 public, private, protected, readonly 접근 제어자를 지원합니다. private은 클래스 내부에서만, protected는 상속 클래스에서도 접근 가능합니다. abstract 클래스는 직접 인스턴스화가 불가하며 상속용으로 사용합니다. 접근 제어자를 지우며 캡슐화가 어떻게 사라지는지 확인하십시오.

코드 분석
TS📋 코드 (27줄)
class Terminator {
    constructor(model, mission) {
      this._model = model;       // public model: string
      this._energy = 100;        // private energy: number
      this.mission = mission;    // protected mission: string
    }
    getModel() { return this._model; }           // public
    getEnergy() { return this._energy; }          // private getter
    consume(n) { this._energy = Math.max(0, this._energy - n); }
    report() { return `[${this._model}] 에너지:${this._energy}% 임무:${this.mission}`; }
  }

  class T1000 extends Terminator {
    constructor() { super('T-1000', 'INFILTRATE'); }
    shapeshift(form) { return `${this.mission} → ${form} 변형`; } // protected 접근
  }

  const t800 = new Terminator('T-800', 'TERMINATE');
  t800.consume(30);
  const t1000 = new T1000();

  [t800.report(), t1000.report(), t1000.shapeshift('JOHN CONNOR')].forEach(msg => {
    const el = document.createElement('div');
    el.style.color = '#888'; el.style.fontSize = '11px'; el.style.marginBottom = '4px';
    el.textContent = msg;
    document.currentScript.parentElement.appendChild(el);
  });

AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude

무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6

이 TS '클래스와 접근 제어자' 코드에서
타입 에러·any 남용·타입 안전성 누락을 찾아
엄격한 타입으로 리팩토링해줘.
ChatGPT

무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro

'클래스와 접근 제어자'를 실무에서 사용하는
패턴 3가지를 비교표로 보여주고
각각의 적합한 케이스를 알려줘.
Gemini

무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro

이 TS '클래스와 접근 제어자' 관련 코드 전체의 타입 구조를
분석하고 제네릭·유틸리티 타입으로
개선할 포인트를 정리해줘.
Grok

무료: Grok 4.1 / SuperGrok $30/mo

TypeScript '클래스와 접근 제어자'를 꼭 써야 하는지
개발 속도 vs 안전성 관점에서
솔직하게 평가해줘.

⭐ 이것만 기억하세요
클래스와 접근 제어자 해부 이 3가지만 확실히 잡으세요
1.모든 프로퍼티가 public이면 외부에서 내부 상태를 자유롭게 바꿔서 객체의 무결성을 보장할 수 없습니다
2.public은 어디서든 접근, private은 클래스 내부만, protected는 하위 클래스까지 — readonly는 초기화 후 변경 불가입니다
3.다음 챕터에서 런타임에서 타입을 좁혀나가는 타입 가드를 배웁니다


공유하기
진행도 11 / 34