Menu
Coddy logo textTech

정적 프로퍼티

Coddy JavaScript 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 56개 중 32번째.

정적 속성은 클래스의 인스턴스가 아닌 클래스 자체에 속합니다. 이들은 모든 인스턴스 간에 공유됩니다.

정적 속성을 가진 클래스를 정의합니다:

class Counter {
  // 정적 속성 정의
  static count = 0;
  
  constructor() {
    // 새로운 인스턴스가 생성될 때마다 정적 count를 증가시킵니다
    Counter.count++;
  }
}

클래스 이름을 사용하여 정적 속성에 액세스합니다:

console.log(Counter.count); // 0

// 몇 개의 인스턴스를 생성합니다
const counter1 = new Counter();
const counter2 = new Counter();

console.log(Counter.count); // 2

정적 속성은 모든 인스턴스에서 공유되어야 하는 값이나 클래스 수준의 상수에 유용합니다. 예를 들어:

class MathConstants {
  static GOLDEN_RATIO = 1.61803;
}

console.log(MathConstants.PI); // 3.14159
challenge icon

챌린지

MathConstants 클래스에 정적 속성 PIE를 추가하세요:

  1. 정적 속성 PI3.14159로 설정
  2. 정적 속성 E2.71828로 설정

치트 시트

정적 속성(Static properties)은 인스턴스가 아닌 클래스 자체에 속합니다. 모든 인스턴스 간에 공유되며 클래스 이름을 사용하여 액세스합니다.

static 키워드를 사용하여 정적 속성을 정의합니다:

class Counter {
  static count = 0;
  
  constructor() {
    Counter.count++;
  }
}

클래스 이름을 통해 정적 속성에 액세스합니다:

console.log(Counter.count); // 0

const counter1 = new Counter();
const counter2 = new Counter();

console.log(Counter.count); // 2

정적 속성은 클래스 수준의 상수를 정의할 때 유용합니다:

class MathConstants {
  static PI = 3.14159;
  static E = 2.71828;
}

console.log(MathConstants.PI); // 3.14159

직접 해보기

import { MathConstants } from './constants.js';

// 테스트 코드 - 수정하지 마세요
console.log(MathConstants.PI);        // 3.14159가 출력되어야 함
console.log(MathConstants.E);         // 2.71828이 출력되어야 함
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

객체 지향 프로그래밍의 모든 레슨