TS클래스 접근제어자 상속 질문있습니다!
class Employee2 {
constructor(
public name: string,
protected age: number,
private position: string
) {}
work() {
console.log("일하는중");
}
}
class Emp extends Employee2 {
constructor(
public name: string,
protected age: number,
public codeNum: number
) {
super(name, age);
this.codeNum = codeNum;
}
}
private를 설정한 경우 클래스 Emp처럼 상속받았을때
super에서 3개 인수가 필요한데 2개를 가져왔다고 오류가 뜨는데 그렇다고 private 설정한 position을 con structor이나 super에 적어도 오류가발생하고
private를 설정한 클래스를 상속받아서 사용할때는 어떤식으로 해야할까요??
답변 1
1
안녕하세요 이정환입니다.
다음과 같이 서브 클래스의 생성자에서 position을 매개변수로 받아주신다음
super 메서드를 호출하면서 전달해 주시면 됩니다.
class Employee2 {
constructor(
public name: string,
protected age: number,
private position: string
) {}
work() {
console.log("일하는중");
}
}
class Emp extends Employee2 {
constructor(
public name: string,
protected age: number,
public codeNum: number,
position: string
) {
super(name, age, position);
this.codeNum = codeNum;
}
}
그럼 자동으로 다음과 같이 private 필드로 설정되어 접근이 불가능하게 됩니다.

제네릭 클래스 핸드북 페이지가 undefined라고 나옵니다.
0
8
1
적절한 타입 찾기 React.ChangeEvent<HTMLInputElemen>
0
29
2
outDir 옵션 추가 후 컴파일 오류 질문
0
64
1
호출 시그니처 질문
0
66
2
서로소 유니언 타입이 discriminated union과 동의어 인가요?
0
75
2
조건부타입소개 중 함수오버로딩 활용 시 인수의타입과 함수의 반환값의 타입이 깨지는 문제
0
67
1
할인쿠폰 관련하여
0
159
2
프론트엔드에서의 인터페이스활용
0
94
2
안녕하세요 이정환님!
0
92
1
Node.js 설치에 관한 질문입니다.
0
79
2
함수 타입 호출 시그니처
0
58
1
35강. 모듈 보강은 라이브러리 파일을 직접 편집해야 하나요?
0
64
2
인터페이스 문법이 있는데 타입 별칭 문법은 왜 있나요?
0
118
4
마우스 호버 시 정보
0
92
2
vite으로 리액트 빌드하기를 업데이트해주세요.
1
89
2
타입가드를 만들어 사용하는 이유가 궁금합니다.
0
83
2
섹션 12가 너무 어려운데... 정상이겠죠..?
0
137
2
선생님.. 알고리즘도 강의해주시면안되나요
0
100
2
선생님은 어떻게 이런걸 아세요?
0
129
1
type: module
0
97
2
7:17초 업캐스팅 질문이있습니다!
0
76
1
슈퍼타입질문
1
63
2
프로젝트 설치
0
104
2
enum은 비원시 타입이면서 열거형 타입이 되는건가요?
0
69
2





