# Classes 함수

박상욱·2023년 1월 24일
0

자바스크립트는 웹 개발에 널리 사용되는 강력하고 다재다능한 프로그래밍 언어이며, 이를 매우 강력하게 만드는 기능 중 하나는 클래스를 만들고 사용하는 기능이다. 이번 블로그 게시물에서는 자바스크립트 수업과 이를 효과적으로 활용하는 방법에 대해 자세히 알아보려고 한다.

먼저 자바스크립트에서 "클래스"가 무엇을 의미하는지 정의해 봅시다. 객체 지향 프로그래밍에서 클래스는 객체를 만들기 위한 청사진이다. 클래스에서 생성된 각 개체가 가져야 하는 속성과 메서드를 정의합니다. 자바스크립트에서 클래스는 ECMA스크립트 2015(ES6) 버전의 언어에 도입된 비교적 새로운 기능이다. 이들은 객체를 만들고 작업하는 더 구조적인 방법을 제공하며 자바나 C++와 같은 다른 객체 지향 언어의 클래스와 유사하다.

자바스크립트 클래스의 주요 기능 중 하나는 생성자 함수를 사용하여 새로운 객체를 만들고 초기화하는 기능이다. 생성자 함수는 클래스에서 새 개체가 생성될 때 호출되며 개체 속성의 초기 값을 설정하는 데 사용할 수 있습니다. 예를 들어, 다음은 "이름" 속성과 이름의 초기 값을 설정하는 생성자 함수를 가진 "사람" 개체를 정의하는 간단한 클래스입니다:

class Person {
  constructor(name) {
    this.name = name;
  }
}

let person = new Person("John Smith");
console.log(person.name); // "John Smith"

생성자 함수 외에도 클래스에 대한 다른 메서드도 정의할 수 있습니다. 클래스에서 생성된 각 개체에서 사용할 수 있는 인스턴스 메서드 또는 클래스에서 생성된 모든 개체가 공유하는 프로토타입 메서드가 있습니다. 예를 들어, "인사" 메서드를 사용하여 "사용자" 개체를 정의하는 클래스는 다음과 같습니다:

class Person {
  constructor(name) {
    this.name = name;
  }

  greet() {
    console.log(`Hello, my name is ${this.name}`);
  }
}

let person = new Person("John Smith");
person.greet(); // "Hello, my name is John Smith"

자바스크립트 클래스의 또 다른 중요한 기능은 상속을 사용하여 기존 클래스에서 속성과 메서드를 상속하는 새 클래스를 만드는 기능이다. 이를 통해 기존 클래스를 기반으로 하여 더 복잡하고 재사용 가능한 코드를 만들 수 있습니다. 예를 들어, 앞에서 정의한 "사용자" 클래스에서 상속되는 "학생" 개체를 정의하는 클래스는 다음과 같습니다:

class Student extends Person {
  constructor(name, major) {
    super(name);
    this.major = major;
  }

  study() {
    console.log(`I am studying ${this.major}`);
  }
}

let student = new Student("Jane Doe", "Computer Science");
student.greet(); // "Hello, my name is Jane Doe"
student.study(); // "I am studying Computer Science"

마지막으로, 자바스크립트 클래스는 또한 클래스에서 생성된 개별 객체가 아닌 클래스 자체에서 호출할 수 있는 메소드인 "static functions"라는 기능을 포함한다는 것을 언급할 필요가 있다. 예를 들어, 정적 "getClassName" 메서드를 정의하는 클래스는 다음과 같습니다:

class Person {
  static getClassName() {
    return "Person";
  }
}
profile
Simple_Life

0개의 댓글