본문 바로가기

javascript

자바스크립트(javascript) 클래스(Class) 알아보기

728x90

클래스 이름은 관례적으로 대문자로 시작합니다.

 

클래스를 선언합니다.

class Person {
  // 클래스 정의 관례적으로 대문자 시작
}

 

클래스 내부에는 속성(멤버 변수)과 메서드(멤버 함수)를 정의할 수 있습니다. 이러한 멤버들은 클래스의 객체를 생성할 때 복제되며, 객체 간에 공유되지 않습니다.

class Person {
  constructor(name, age) {
    this.name = name; // 속성(멤버 변수)
    this.age = age;
  }

  sayHello() {
    console.log(`안녕하세요, 제 이름은 ${this.name}이고, 나이는 ${this.age}입니다.`);
  }
}

생성자 메서드는 클래스로부터 객체를 생성할 때 호출되는 특별한 메서드입니다.

constructor라는 이름으로 정의하며, 객체 초기화를 위해 사용됩니다.

 

클래스를 기반으로 객체를 생성하려면 new 연산자와 함께 클래스 생성자를 호출합니다.

const person1 = new Person("Minjun", 20);
const person2 = new Person("Seoyeon", 22);

person1.sayHello(); // "안녕하세요, 제 이름은 Minjun이고, 나이는 20입니다."
person2.sayHello(); // "안녕하세요, 제 이름은 Seoyeon이고, 나이는 22입니다."

 

자바스크립트 클래스는 상속을 지원합니다.

extends 키워드를 사용하여 다른 클래스를 확장할 수 있습니다.

class Student extends Person {
  constructor(name, age, grade) {
    super(name, age); // 부모 클래스의 생성자 호출
    this.grade = grade; // 추가 속성
  }

  study() {
    console.log(`${this.name}은(는) 공부 중입니다.`);
  }
}

 

클래스의 인스턴스와 관계없이 호출할 수 있는 정적 메서드를 정의할 수 있습니다. 정적 메서드는 클래스 자체에 속하며, 인스턴스와 관련된 작업이 아닌 일반적인 클래스 관련 작업에 사용됩니다.

class MathUtils {
  static add(a, b) {
    return a + b;
  }
}

const sum = MathUtils.add(5, 3); // 8

 

자바스크립트 클래스는 객체 지향 프로그래밍 개념을 활용하여 코드를 구조화하고 모듈화하는 데 도움이 됩니다.

클래스를 사용하면 객체를 생성하고 관리하는 데 효율적이며 가독성 높은 코드를 작성할 수 있습니다.

728x90