#
7.class
#
목차
1. Class 2. 기본문법 2.1. 정의 2.2. 생성자 2.3. 메소드 2.4. 상속
3. 예제 3.1. 선언 3.2. 작성 상속
#
1. Class
자바스크립트의 클래스는 반복사용하는 객체를 전역적으로 생성하고 관리할수 있는 문법이다.
class ? 객체 팩토리 Class는 객체의 모양과 동작에 대해 미리 정의해 놓은 틀 클래스는 객체의 기본값(속성)을 정해놓고 메소드를 여러번 정의하기 위해쓴다.
#
2. 기본문법
#
2.1. 정의
클래스는 class 키워드를 사용하여 정의한다
class ClassName {
// 클래스 내용
}
#
2.2. 생성자
클래스는 생성자를 가질 수 있다. 생성자는 클래스의 객체를 만들 때 호출되며 객체의 초기 상태를 설정하는 데 사용함.
class ClassName {
// 클래스 내용
}
#
2.3. 메소드
클래스 내에서 메소드는 함수와 같이 정의된다. 메소드는 클래스의 객체에서 호출된다.
class ClassName {
constructor() {
// 생성자 내용
}
methodName() {
// 메소드 내용
}
}
#
2.4. 상속
클래스는 다른 클래스를 상속할 수 있다. 상속은
extends
키워드를 사용하여 정의된다.
class ChildClassName extends ParentClassName {
// 클래스 내용
}
#
3. 예제
클래스는 호이스팅이 안되므로 사용전 선언해야 한다.
#
3.1. 선언
class Mango {
constructor() {} //생성자
method() {} //메서드
}
클래스는 생성자함수와 메서드를 갖는다
#
3.2. 작성
- Dog 클래스에 생성자 함수를 선언하고 name 속성에 값을 할당한다.
- printName 함수에 name 을 콘솔로 출력하는 내용을 작성한다.
- 상수에 new 키워드로 클래스 인스턴스를 할당한다
- 이제 상수 dog 은 Dog 인스턴스의 메소드를 사용할수 있다
class Dog {
constructor() {
this.name = '망고';
}
printName() {
console.log(this.name);
}
}
const dog = new Dog();
dog.printName();
#
상속
Dog 는 Breed 의 속성을 상속받는다
서브클래스 Dog 에서는 super() 메소드를 호출해야 한다.
class Breed {
constructor() {
this.kind = '말티즈';
}
printKind() {
console.log(this.kind);
}
}
class Dog extends Breed {
constructor() {
super();
this.name = '망고';
}
printName() {
console.log(this.name);
}
}
const dog = new Dog();
dog.printName();
dog.printKind();