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
'javascript' 카테고리의 다른 글
자바스크립트(Javascript)로 폴더 업로드해서 목록 나열하기 (0) | 2023.10.06 |
---|---|
자바스크립트로 정규 표현식 (Regular expression) 테스트 (1) | 2023.10.03 |
자바스크립트(Javascript) 변수 기본 (1) | 2023.10.01 |
자바스크립트로 프로그레스바 만들기 (0) | 2023.09.02 |
자바스크립트로 파일 드래그 앤 드롭 업로드 방법 (0) | 2023.09.02 |