자바스크립트 클래스에서 다른 클래스의 속성에 접근하는 방법은 무엇인가요?
- 상속(Inheritance)을 이용한 접근: 클래스 A가 클래스 B를 상속하는 경우, 클래스 A의 인스턴스는 클래스 B의 속성에 접근할 수 있습니다. 이를 통해 클래스 A는 클래스 B의 모든 속성과 메소드를 상속받아 사용할 수 있습니다.
예시:
class B {
constructor() {
this.name = "Class B";
}
}
class A extends B {
constructor() {
super();
}
accessB() {
console.log(this.name); // Class B
}
}
const a = new A();
a.accessB();
- 객체의 인스턴스를 이용한 접근: 한 클래스의 인스턴스를 다른 클래스의 속성으로 사용할 수 있습니다. 이를 통해 클래스 간에 데이터를 공유하고 전달할 수 있습니다.
예시:
class B {
constructor() {
this.name = "Class B";
}
}
class A {
constructor(b) {
this.instanceB = b;
}
accessB() {
console.log(this.instanceB.name); // Class B
}
}
const b = new B();
const a = new A(b);
a.accessB();
위의 예시에서, 클래스 A의 생성자에 클래스 B의 인스턴스를 전달하여, 클래스 A에서 클래스 B의 속성에 접근할 수 있게 됩니다.
이렇게 자바스크립트에서는 상속과 객체의 인스턴스를 이용하여 클래스 간에 속성에 접근할 수 있습니다. 이를 통해 클래스 간에 데이터를 공유하고 유연한 코드를 작성할 수 있습니다.