inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

Java에서 this와 super 키워드

상속

해결된 질문

187

28026

작성한 질문수 11

0

class Parent{

}

class Child extends Parent{

}

void main

① Parent.a = Child()

② Child.b = Child()

위 식에서 ① ② 두 문장의 차이가 궁금합니다.

둘다 = Child()기 때문에 본인들이 태어날때 부모 기본자도 실행할 것이고, 만약 a나 b에 없는 메소드를 실행시킨다면 부모 클래스를 찾아가는 것도 같은데

둘에 무슨 차이가 있는지 모르겠습니다.

java

답변 1

0

주말코딩

자바에서는 크게 4가지 형태가 있습니다.

(일단 캐스팅(Casting)이라는 것은 한글로 번역하면 보통 형변환으로 많이 번역합니다.)

  1. Only 부모 (Parent p = new Parent();)

  2. Only 자식 (Child c = new Child();)

  3. 업캐스팅(Up-Casting): 자식클래스가 부모클래스로 형변환 (Parent c)

  4. 다운캐스팅(Down-Casting): 부모클래스가 자식클래스로 형변환 (Child p)

다운캐스팅은 우리가 커리큘럼 상에서는 배우지 않았죠.

지금 물어보시는 것은 업캐스팅 형태와 Only 자식 형태의 차이를 물어보신 것 같네요.


업캐스팅 형태에서는 형태가 부모 형태라는 뜻입니다.

이 형태는 자식에게만 있는 메서드를 사용할 수 없습니다. 오류가 발생합니다.

Parent에 있거나 자식이 재정의한 것까지만 접근할 수 있습니다.

그 외에는 같은 부모 타입인 경우에는 자식을 계속 갈아 끼울 수 있다는 장점이 있습니다.

 

Only 자식인 경우에는 본인의 형태에 본인의 생성자로 태어난 객체이기 때문에

자기가 직접 만든 메서드를 사용할 수 있습니다.

다만, 부모 클래스와의 호환성을 이용한 다형성이라는 것을 이용할 수 없습니다.

(여러 자식으로 부모에 호환되도록 갈아 끼울 수가 없음)

 

그 차이입니다.

나머지는 말씀하신 대로 비슷합니다.

정처기 필기 준비할때 이 이론을 다시 외워도 될까요?

0

43

2

조건 반복문 질문: for 문 ?

0

58

1

정처기 26-2회. 9번 질문드립니다!

0

77

1

이론 보면서 질문이 있습니다.

0

71

2

정보처리기사 실기 26년 2회 SRT 스케줄링 문제 단위 질문

0

85

2

유튜브(정보처리기사 실기 | 26년 2회 기출문제 코드 해설)

0

142

2

262 정처기 실기 C언어코딩

0

44

1

정보처리기사 262 실기 Hash(해시) 질문

0

74

2

static 변수 질문입니다.

0

60

2

파이썬 4강 질문입니다.

0

67

2

모의고사 1회 3번문제

0

87

3

41강 30:10

0

66

2

이론 공부법 질문 있습니다.

0

86

2

부모의 생성자 관련 질문

0

64

2

시험지 문제에 필기해도 되나요?

0

87

3

41강 11:23

0

58

2

4강파이썬 질문입니다

0

53

2

try-catch 핸들러명

0

64

2

36강 3:48

0

62

2

35강 18:27

0

65

2

자식 코드 내 super() 생략

0

59

2

출력질문

0

72

2

31강 4:06

0

64

2

파이썬 학습자료가 강의 자료와 다릅니다.

0

94

3