[TS] 클래스와 접근제어자 사용 연습

TIL

조건을 만족하는 Pokemon 클래스 완성

3개의 필드
- name 필드는 String 타입이며 Public이다.
- skill 필드는 String 타입이며 Public이다.
- type 필드는 String 타입이며 읽기 전용 필드이다.

2개의 메서드
- getName 메서드는 name 필드의 값을 반환한다.
- setSkill 메서드는 String 타입의 매개변수를 받아 skill 필드의 값을 업데이트 한다.

 

// 기본 버전 (this 할당 방식)

class Pokemon {
  name: string;
  skill: string;
  readonly type: string;
  
  constructor(name: string, skill: string, type: string) {
    this.name = name;
    this.skill = skill;
    this.type = type;
  }
  
  getName(): string {
    return this.name;
  }
  
  setSkill(skill: string): void {
    this.skill = skill;
  }
}
// 축약 버전 (생성자 매개변수 속성 사용)

class Pokemon {
  constructor(
    name: string,
    skill: string,
    readonly type: string
  ) {}
  
  getName(): string {
    return this.name;
  }
  
  setSkill(skill: string): void {
    this.skill = skill;
  }
}

 

'TIL' 카테고리의 다른 글

[TS] 제네릭  (0) 2025.11.04
[CS50] 컴퓨팅 사고 - 2진법  (0) 2025.11.03
[TS] 인터페이스로 구현하는 클래스 (implements)  (0) 2025.11.03
[TS] 접근 제어자  (0) 2025.11.01
[TS] 클래스  (0) 2025.11.01
'TIL' 카테고리의 다른 글
  • [TS] 제네릭
  • [CS50] 컴퓨팅 사고 - 2진법
  • [TS] 인터페이스로 구현하는 클래스 (implements)
  • [TS] 접근 제어자
고견
고견
개발 자국 남기기
  • 고견
    개발자국
    고견
  • 전체
    오늘
    어제
    • 분류 전체보기 (157) N
      • Frontend (29)
        • Next.js (16)
        • JavaScript (7)
      • CS (19) N
        • 자료구조 (9)
        • 알고리즘 (5)
        • 운영체제 (4) N
        • 네트워크 (1) N
      • TIL (93)
      • Dev Log (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    인터페이스
    문자열
    트러블 슈팅
    typescript
    타입 좁히기
    memory
    react
    함수 타입
    emotion diary
    바닐라 자바스크립트
    앱 라우터
    배열
    generic
    Next.js
    Pages Router
    자료구조
    App Router
    Trouble Shooting
    제네릭
    페이지 라우터
    cs50
    알고리즘
    useState
    javascript
    CS
    algorithm
    Spa
    ai 감성 일기장
    클래스
    C
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고견
[TS] 클래스와 접근제어자 사용 연습
상단으로

티스토리툴바