작성
·
395
0
OOP 상속 부분 강의에서 보면
부모클래스의 파라미터 이름과 자식 클래스 파라미터 이름을 다 같게 쓰시더라구요.
혹시 변수 이름 구분을 하면 오류가 나는지 한번 구분을 해보았는데,
super뒤의 부모 클래스 파라미터를 적는 부분에서 오류가 나더라구요.
두 개를 다르게 지정하면 안되는건가요?
예를 들어 강의에 나온 대로 받은 입력을 2배하는 클래스, 4배하는 클래스를 만들었을 때
class Timestwo {
int number1;
Timestwo(this.number1);
int calculate(){
return this.number1 * 2;
}
}
class Timesfour extends Timestwo{
Timesfour(int number2) : super(number1);
int calculate(){
return super.number1 * 4;
}
}
밑에서 5번째줄, Timesfour(int number2) : super(number1) 부분에서
number1아래에 빨간줄이 생겨요.
저는 Timesfour(int number2)는 Timesfour라는 클래스의 파라미터를 받는 거라 아무 이름이어도 된다고 생각했고,
super( )안은 부모클래스(Timestwo)의 파라미터를 받는거라 number1을 써야한다고 생각했거든요.
그런데 안되더라구요...?
제가 어디를 잘못 이해하고 있는걸까요?
그럼 super 생성자에는 부모 클래스의 변수를 넣는게 아닌가요?