[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)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바