[질문] 상속 기초 질문이요~
가지
안녕하세요,
이번에 inheritance를 배웠는데요..
숙제 도중 모르는 부분이 있어서 질문 올립니다.
//super class//
public class Person
{
private String name;
private int yearOfBirth;
public Person(String userName, int year)
{
name = userName;
yearOfBirth = year;
}
public String getName()
{
return name;
}
public int getYearOfBirth()
{
return yearOfBirth;
}
}
//Sub class//
public class Student extends Person
{
private String major;
public Student(String studentMajor) //compile하면Person(java.lang.String,int) in Person cannot be applied to ()super (); 이렇게 나옵니다. 맞게 한것 같은데 왜 에러가 나오죠?? super()를 위에다 쓰는거 맞죠? 가로 안에 String name, int yearOfBirth를 써서 해도 에러가 나옵니다..
super();major = studentMajor;
}
public String getMajor()
{
return major;
}
public String toString()
{
String message = super(getName) + super(getYearOfBirth) + major; //이렇게 했는데 에러 나옵니다. Person 클래스에 있는 getName과 getYearOfBirth 를 불러와message라는 스트링에 넣고 싶습니다. 어떻게 해야 하나요..??
그냥 super(getName), super(getYearOfBirth) 이렇게 한다음에 return major이렇게 해야 하나요?
그냥 super(getNAme) 하면 Name이 return되서 나오나요??
고수님들 답변 부탁드립니다(__)
-
하예라
답변감사합니다(__)
-
민트
저도 요즘 headfirst 책 가지고 다시 공부하는터라..^^ 여지껏 일하면서 상속같은거 전혀 안쓰고도 일 잘해서^^
혹 headfirst 책 보실 일 있으심 생성자와 가비지컬렉션 부분 한번 보세요.
쉽게 설명이 잘 되어있네요. -
MinA
일단 상위클래스 생성자를 호출하는 과정에서
person 클래스의 생성자가 2개의 인수값이 들어있기때문에 인수값이 들어있는 부분이 들어가야 겠죠.
super(\TEST\