자바스크립트/JavaScript
[JavaScript] class 문법
KIMJAVAN
2025. 1. 23. 16:04
728x90
1. 클래스란 무엇인가요?
클래스는 **"객체를 만들기 위한 설계도"**입니다. 이 설계도를 기반으로 여러 객체를 만들 수 있어요.
예를 들어, 사람을 나타내는 Person 클래스를 만들면, 이 클래스를 이용해서 여러 사람 객체를 만들 수 있습니다.
2. 클래스 만들기
class Person {
// 생성자: 객체를 만들 때 기본적인 값을 설정해주는 곳
constructor(name, age) {
this.name = name; // name은 객체의 이름
this.age = age; // age는 객체의 나이
}
// 메서드: 객체가 할 수 있는 행동을 정의
greet() {
console.log(`안녕하세요, 제 이름은 ${this.name}이고, 나이는 ${this.age}살입니다.`);
}
}
위의 코드에서 Person 클래스는 name과 age라는 속성(정보)을 가지고 있고, greet()라는 행동(메서드)을 정의하고 있어요.
3. 클래스 사용하기
클래스를 사용해서 실제 객체를 만들려면, new 키워드를 사용해요.
const person1 = new Person("John", 30); // 새로운 Person 객체 만들기
person1.greet(); // "안녕하세요, 제 이름은 John이고, 나이는 30살입니다."
이제 person1은 Person 클래스에서 만든 객체고, greet() 메서드를 사용할 수 있어요.
4. 상속
클래스는 상속을 통해 다른 클래스를 확장할 수 있어요. 예를 들어, Employee라는 클래스가 Person 클래스를 상속받아 직업(jobTitle)을 추가할 수 있어요.
class Employee extends Person {
constructor(name, age, jobTitle) {
super(name, age); // 부모 클래스(Person)의 생성자를 호출
this.jobTitle = jobTitle; // 직업 속성 추가
}
greet() {
console.log(`안녕하세요, 제 이름은 ${this.name}이고, 나이는 ${this.age}살이며, 직업은 ${this.jobTitle}입니다.`);
}
}
const employee1 = new Employee("Jane", 28, "개발자");
employee1.greet(); // "안녕하세요, 제 이름은 Jane이고, 나이는 28살이며, 직업은 개발자입니다."
Employee 클래스는 Person 클래스를 확장하고, greet() 메서드를 덮어쓸 수 있어요.
요약
- 클래스는 객체를 만들기 위한 설계도입니다.
- 클래스에서 생성자는 객체가 만들어질 때 기본 값을 설정하는 곳이에요.
- 클래스 안에 메서드는 객체가 할 수 있는 행동을 정의합니다.
- 상속을 통해 다른 클래스를 확장하고, 새로운 기능을 추가할 수 있어요.