자바스크립트 클래스: 객체 지향 프로그래밍의 기초

Photo of author

By tutor

자바스크립트 클래스: 객체 지향 프로그래밍의 기초

자바스크립트 클래스: 객체 지향 프로그래밍의 기초

 

자바스크립트 클래스: 객체 지향 프로그래밍의 기초

객체 지향 프로그래밍(OOP)이란?

객체 지향 프로그래밍은 데이터와 이를 처리하는 메서드를 하나의 단위로 취급하는 프로그래밍 패러다임입니다. 이렇게 객체 단위로 프로그래밍을 하게 되면 코드의 가독성과 유지보수성이 좋아지며 코드 재사용성이 증가합니다.

자바스크립트 클래스란?

ES6부터 자바스크립트에서는 클래스(Class) 개념을 도입하였습니다. 이전에는 함수(Functions)를 통해 객체를 만들어서 OOP를 구현하였습니다. 하지만 클래스를 사용하면 객체를 만들기가 더 쉬워집니다.


class Car {
  constructor(make, model, year) {
    this.make = make;
    this.model = model;
    this.year = year;
  }

  printInfo() {
    console.log(`Make: ${this.make}, Model: ${this.model}, Year: ${this.year}`);
  }
}

const myCar = new Car('Toyota', 'Camry', 2020);
myCar.printInfo(); // Make: Toyota, Model: Camry, Year: 2020

위 코드는 Car 클래스를 정의하고, 객체를 만들고, 출력하는 코드입니다. 클래스는 constructor 메서드를 통해 객체의 초기값을 설정하고, 메서드를 추가할 수 있습니다.

상속(Inheritance)이란?

상속은 OOP에서 중요한 개념 중 하나입니다. 상위 클래스에서 정의한 필드와 메서드를 하위 클래스에서 사용할 수 있게 됩니다.


class SportsCar extends Car {
  constructor(make, model, year, maxSpeed) {
    super(make, model, year);
    this.maxSpeed = maxSpeed;
  }

  printMaxSpeed() {
    console.log(`Max Speed: ${this.maxSpeed}`);
  }
}

const mySportsCar = new SportsCar('Ferrari', 'F8 Tributo', 2021, 340);
mySportsCar.printInfo(); // Make: Ferrari, Model: F8 Tributo, Year: 2021
mySportsCar.printMaxSpeed(); // Max Speed: 340

위 코드는 Car 클래스를 상속받아 SportsCar 클래스를 만든 후, 객체를 만들고 출력하는 코드입니다. 이를 통해 상위 클래스에서 정의한 make, model, year을 하위 클래스에서 사용할 수 있게 되었고, 하위 클래스에서 추가한 maxSpeed도 출력할 수 있게 되었습니다.

정리

자바스크립트에서 클래스(Class)를 사용하면 객체 지향 프로그래밍(OOP)을 보다 쉽게 구현할 수 있습니다. 클래스는 constructor 메서드로 초기값을 설정하고, 메서드를 추가할 수 있습니다. 또한, 상속(Inheritance)을 통해 기존 클래스를 확장하여 새로운 클래스를 만들 수 있습니다.

자바스크립트 클래스를 사용하여 OOP를 구현해 보세요!

키워드: 자바스크립트 클래스, 객체 지향 프로그래밍(OOP), constructor 메서드, 상속(Inheritance)