상속과 업케스팅
0
상속에서는 부모클래스에 없는 속성을 추가할 수 있는데, 업캐스팅을 할 경우엔, 부모클래스에 없는 함수를 사용하면 안되는 거 맞을까요?
그렇다면 추상화, 인터페이스도 부모클래스에 없는 함수를 사용하면 안되는 거 맞을까요?
답변 1
0
네 맞습니다.
class Parent {
void parentMethod() {
System.out.println("Parent method");
}
}
class Child extends Parent {
void childMethod() {
System.out.println("Child method");
}
}
public class Main {
public static void main(String[] args) {
Parent p = new Child(); // 업캐스팅
p.parentMethod(); // 가능
p.childMethod(); // 컴파일 에러
}
}
부모가 추상클래스 일 때도 마찬가지입니다.
abstract class Parent {
abstract void abstractMethod();
void parentMethod() {
System.out.println("Parent method");
}
}
class Child extends Parent {
void abstractMethod() {
System.out.println("Abstract method implementation");
}
void childMethod() {
System.out.println("Child method");
}
}
public class Main {
public static void main(String[] args) {
Parent p = new Child(); // 업캐스팅
p.abstractMethod(); // 가능
p.parentMethod(); // 가능
p.childMethod(); // 컴파일 에러
}
}
인터페이스일 때도 그렇습니다.
interface ParentInterface {
void interfaceMethod();
}
class Child implements ParentInterface {
public void interfaceMethod() {
System.out.println("Interface method implementation");
}
void childMethod() {
System.out.println("Child method");
}
}
public class Main {
public static void main(String[] args) {
ParentInterface p = new Child(); // 업캐스팅
p.interfaceMethod(); // 가능
p.childMethod(); // 컴파일 에러
}
}
정처기 2026-3 실기 문의
0
52
2
정처기 실기 3회 컴싸 사용 여부
0
34
1
모의고사 1 회 2번문제 중
0
45
2
26-2 이론문제 재탕
1
35
1
26-2년도 코드문제
0
23
0
26-2 코드문제
0
30
1
15분 48초 질문
0
38
2
26-1년도 이론문제 재탕
0
53
1
26-1년도 코드문제 재탕
0
38
0
이론재탕만 눈치챘어도
0
64
1
25-3년도 이론문제 재탕
0
50
1
25-3년도 코드문제 재탕
0
37
0
출력값 문의
0
40
2
25-2 분기커버리지
0
44
0
25-2 이론 재탕
0
54
1
25-1 이론 재탕
0
42
1
서브넷 마스크
0
48
2
모의고사 1회 계산문제 2개 맞았는데
0
64
2
업캐스팅 문제 예시 4번 부모 호출
0
48
2
모의고사 자료 해설이 너무 불친절하네요.
0
93
2
부모의 생성자 출력 관련
0
42
2
24-3 이론파트 재탕문제
0
56
0
누락코드
0
44
1
다차원 배열 포인터 질문있습니다
0
64
3





