내공 100 자바 super() 키워드 오류
-
게시물 수정 , 삭제는 로그인 필요
아래 코드에 대한 질문 3가지입니다 ㅜㅜ 너무 헷갈려요.. 제발 답변 부탁드립니다..
1. 자식 클래스에서는 생성자 오버라이딩이 일어나고 있는 건가요?
2. super(n);을 지우고 부모 클래스에 protected String n;을 추가한 다음 자식 클래스 생성자에서 this.n = n;이라 하면 오류가 나던데 왜 그런 건가요?? (바꾼 코드도 아래에 참조했습니다!)
3. super() 키워드는 대체 언제 사용하는 건가요?
package Day13;
class Calc2 {
public Calc2(String n) {
System.out.println(n);
}
}
class ComputerCalc2 extends Calc2 {
public ComputerCalc2(String n) {
super(n);
System.out.println("Computer");
}
}
public class EX05 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ComputerCalc2 com = new ComputerCalc2("Test");
}
}
바꿔본 코드
package Day13;
class Calc2 {
protected String n;
public Calc2(String n) {
System.out.println(n);
}
}
class ComputerCalc2 extends Calc2 {
public ComputerCalc2(String n) {
this.n = n;
System.out.println("Computer");
}
}
public class EX05 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ComputerCalc2 com = new ComputerCalc2("Test");
}
}
package Day13;
class Calc2 {
public Calc2(String n) {
System.out.println(n);
}
}
class ComputerCalc2 extends Calc2 {
public ComputerCalc2(String n) {
super(n);
System.out.println("Computer");
}
}
public class EX05 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ComputerCalc2 com = new ComputerCalc2("Test");
}
}
바꿔본 코드
package Day13;
class Calc2 {
protected String n;
public Calc2(String n) {
System.out.println(n);
}
}
class ComputerCalc2 extends Calc2 {
public ComputerCalc2(String n) {
this.n = n;
System.out.println("Computer");
}
}
public class EX05 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ComputerCalc2 com = new ComputerCalc2("Test");
}
}
#내공 100 #내공 100 뜻 #내공 100 초등 #내공 100 가격 #내공 100 지식인 #구몬 내공 100