아버지가 날 낳은 형태의 특징들을 모아봤습니다. 이런 형태의 문제가 나왔을때, 오버라이딩과 하이딩 개념이 나올 수 있고, 변수의 유효범위도 나올 수 있으니 꼭 확인해주세요~~ 도움이 되셨으면 좋겠습니다. ^^ #흥달 #흥달쌤 #정처기 #정보처리 #정보처리기사 #정보처리기출 #JAVA #C언어 #전산직 #계리직 #프로그래밍 #기출문제풀이
Пікірлер: 93
@jo8020173 Жыл бұрын
항상느끼지만 JAVA 아버지 아들 예제 설명은 정말 기가 막합니다. 흥달쌤 덕분에 이번 정처기 실기 90점 득점했습니다. 감사합니다.
@HeungSsaem Жыл бұрын
안녕하세요~~~ 90점 득점이면 엄청 고득점이네요.. 정처기가 100점 만점의 시험이 아닌데, 정말 열심히 해주셨군요~~^^ 아버지 날 낳은 형태~~~좋게 들어주셔서 감사합니다.
@미남-e2q Жыл бұрын
23년 3회차 오버라이딩 개털리고 공부하러 왔습니다..
@joyluck00 Жыл бұрын
저 이거 되게 헷갈렸는데, 쌤 덕분에 딱 정리되네요!! 열정있고 친절한 강의 감사합니다~~
@신하리-x9d Жыл бұрын
이 내용이 정리가 안 돼서 며칠째 괴로웠는데 흥달쌤 영상에 있었네요!! 감사합니다
@HeungSsaem Жыл бұрын
안녕하세요~~ 도움이 되셨다니 다행입니다. ^^ 수강해주셔서 감사합니다.
@한낱꿈2 жыл бұрын
~의값 ~~~의 값! ㅋㅋㅋ 이후로 완벽히 정립했어요. 눈물나게 감사합니다ㅠㅅㅠ 흥달쌤도 건강 잘 챙기세요!
@HeungSsaem2 жыл бұрын
안녕하세요~~ 도움이 되셨다니 다행입니다. ^^ 아버지가 날 낳은 형태는 요정도 정리해주시면 될 듯해요.. 감사합니다.
@루트-t4d Жыл бұрын
7:51 안녕하세요. N잡강의 잘 보고있습니다~다른 분 댓글을 보다가 링크타고 넘어왔습니다. 1. 여기서 부모한테 인자가 없는 생성자가 없으면 인자가 있는 생성자를 수행하게 되나요? 아니면 그냥 수행 안하게 되나요? 2. 그리고 super(a) 했는데, 부모에 인자가 없는 생성자만 있을 땐, 부모에 인자가 없는 생성자를 수행하게 되나요? 아니면 아무것도 수행 안하게 되나요?
@HeungSsaem Жыл бұрын
안녕하세요~~~ 질문 주신 두가지는 모두 오류가 발생을 하게 됩니다. 부모에 인자가 있는 생성자만 있고, 그걸 상속하게 되면 오류가 발생을 하게 됩니다. 기본적으로 인자 있는 생성자를 만들기 위해서는 인자없는 생성자를 만들어줘야 합니다. 이전 출제된 문제에서 인자있는 생성자만 있는 경우가 있었는데, 그건 오류가 안난다는 가정으로 문제를 출제한것이고, 원칙적으로 오류가 발생을 하게 됩니다. 감사합니다. ^^
@박현민-t9v6 ай бұрын
진짜 명강의네요
@수란-s6l2 жыл бұрын
퇴근하면서 흥달쌤 정처기실기풀이 보면서왔는데 딱 오버라이딩문제가 나왔어서 오버라이딩 개념 더 보고싶었는데, 영상올려주셔서 감사합니다!! 2022년 3회실기 준비중인데 부족한거같아 불안하지만 쌤 영상보면서 열심히 준비해보려구요!!!
@HeungSsaem2 жыл бұрын
안녕하세요~~ 아버지 날 낳았을때는 오버라이딩하고 하이딩 절대 헷갈리시면 안되요..^^ 이번 시험 꼭 합격하시길 진심으로 응원할께요.. 일하고 병행하는게 쉽지 않은데..조금만 힘내주세요. 감사합니다.
@Gintama-01056 ай бұрын
선생님은 저의 아버지십니다 감사합니다
@웃쩡 Жыл бұрын
생성자 첫번째 문제에서 P p2 = new C(1); 이 부분에서 자식클래스 C(int a) {System.out.println("D); } //명시적으로 호출한게 없다고 하시는데 부모클래스에 부모클래스 P(int a) {System.out.println("B); } //여기 호출 할 수있는거 아닌가요..? A C //여긴 default 값이라 부모껏도 호출한다는 걸 이해했는데 B D 로 진행되는거 아닌가요 ㅠㅠ 제가 이해한 걸로는 부모클래스 P(int a) 인자가 있으니깐 부모 먼저 출력하고 자식 출력하는거 아닌가요?? 이해를 못한거 같습니다 ㅠㅠ
@HeungSsaem Жыл бұрын
안녕하세요~~~ 부모를 명시적으로 호출하는건, super(); 이런 형태가 있어야 합니다. C(int a) 에는 super 라고 부모의 생성자를 명시적으로 호출하지 않기 때문에, 부모의 인자없는 디폴트 생성자가 호출되게 됩니다. 너무 늦은 답변 죄송하고, 꼭 이해해주셨음 좋겠습니다. 감사합니다. ^^
@Siempre_feliz7 ай бұрын
P p2 = new C(1) 선언하고 자식 생성자 C(int a)에선 따로 super부모 생성자가 없어서 인자가 없는 부모 생성자를 호출한다 !!!
@ye3259 Жыл бұрын
이거 완전 헷갈렸는데ㅜㅜㅜ 감사합니다!!!
@HeungSsaem Жыл бұрын
도움이 되셨다니 다행입니다. ^^ 혹시 모르는 문제 있으면 언제든 질문 주세요~~ 감사합니다. ^^
@김형열-g1h Жыл бұрын
안녕하세요. 흥달쌤님... 일억뷰앤잡을 신청해서 공부하고 있습니다. C언어와 java가 큰 고민이었는데 흥달쌤님 강의를 들으면서 정말 많은 도움을 받고 있습니다. 깨알 java 문제를 복습하던 중 10번과 23번 문제가 약간 혼동이 되서 질문을 드립니다. 10번 문제를 보면 두번째 인스턴스인 b2는 아버지의 형태로 자식을 낳았기 때문애 아버지가 가진 멤버변수 a =10만 소유할 수 있는데 23번 문제를 보면 동일하게 아버지의 형태로 자식을 낳은 경우인데도 인스턴스 f는 Foo가 가진 a=3과 Bar가 가진 a=8 모두를 소유합니다. 10번과 23번의 차이가 무엇인지 해설을 부탁드립니다.
@HeungSsaem Жыл бұрын
안녕하세요~~~ 아버지 형태로 날 낳게 되면 아버지의 멤버변수와 자식의 멤버변수 모두 사용이 가능합니다. 11번 문제일꺼에요~~ 요 문제에서는 b2.a 는 아버지 형태로 날 낳았고, 형태는 아버지이기 때문에 변수 a를 참조하라고 했을때 아버지와 가까운 아버지의 a인 10을 참조하게 됩니다. 25번 문제는, 실행되는 메서드가 어디 있느냐에 따라서 틀려지는 문제입니다. 요 문제는 제가 화요일에 영상으로 촬영해서 올려드리도록 하겠습니다. 감사합니다. ^^
@김형열-g1h Жыл бұрын
@@HeungSsaem 감사합니다. 가능하면 두 문제를 같이 비교하면서 강의해주셨으면 합니다.
@시나브로-q4u4 ай бұрын
복습하기!!!
@sunjunam6887 Жыл бұрын
와… 정말 대단한 명강의입니다!!!!!!!!!!!
@HeungSsaem Жыл бұрын
안녕하세요~~~ 도움이 되셨다니 다행입니다. 이번 시험 좋은 결과 있으셨길 바랍니다. 감사합니다. ^^
@llee9783 Жыл бұрын
와 정말 내용은 너무 어려운데.. 설명을 너무 쏙쏙 이해되게 해주셔요 ㅠㅠ
@HeungSsaem Жыл бұрын
안녕하세요~~ 도움이 되셨다니 다행입니다. ^^ 즐거운 주말 되세요~~
@user-rx8ms9ci3x Жыл бұрын
23년도 1회실기 광탈하고 2회 도전중입니다. 타강의듣고도 1회실기 오버라이딩문제 못풀었는데 이 영상에서 속시원하게 긁어주네요.
@HeungSsaem Жыл бұрын
안녕하세요~~~ 2회 실기에서는 꼭 합격하실꺼에요~~ 남은 시간 조금만 힘내주세요.. 화이팅입니다. ^^
@놀면뭐하지-h4x9 ай бұрын
음.. 쉽게말해... 아버지로 선언하면 = 자식인스턴스를 집어넣어도 결국 아버지이므로 아버지클래스 안의 메서드만 쓸수있는데 다만 아버지가 가진 메소드중에 자식클래스에 동명이인 메소드가 있으면 아버지껀무효고 자식 메소드를 써야한다는거네...
@군신 Жыл бұрын
선생님 감사합니다. N잡 문풀로는 완벽히 이해가 안갔는데 이걸 보니까 이해가 되는 것 같습니다ㅠㅠ
@HeungSsaem Жыл бұрын
안녕하세요~~~ 아버지가 날 낳은 형태는 아무래도 경우의 수가 좀 많아서 여러 문제를 한번 가지고 왔습니다. 혹시라도 다른거 질문 있으면 언제든 남겨주세요~~ 감사합니다. ^^
@쭌쓰쭌쓰-l4v Жыл бұрын
선생님 예를들어 P클래스에 fun1()과 func(2)가 있고 C클래스에 func(3)이 있다고 가정하면, P p1 = new C(); 형태가 아닌 자식이 자식을 낳는 C p1 = new C(); 형태이면 P클래스에 있는 멤버변수와 메서드가 C클래스에도 있으니까 p1.func(1)(2)(3) 다 구할 수 있는건가요?? 부모가 자식을 낳는 형태일떄는 부모에 있는 값만 추출할 수 있다고 하셔서 자식이 자식을 낳는 상황에서는 다 추출할 수 있는지 궁금합니다.
@HeungSsaem Жыл бұрын
안녕하세요~~~ 자식이 자식을 낳은 형태에서는 부모로부터 물려받기 때문에 모두 이용이 가능합니다. 다만 private 한 멤버나 메서드는 직접 참조를 할 수 없습니다. P p1 = new C(); 형태로 하게 되면, func2 가 C에는 없지만, 물려받은 메서드이기 때문에 사용이 가능합니다. 감사합니다. ^^
@히어로성애자 Жыл бұрын
쌤 그럼 클래스 P와 C를 생성하고 그 안에 각각 멤버변수 a를 선언한 뒤에 Extends를 하지 않은 상태에서 부모가 날 낳은 형태이든 자식이 날 낳은 형태든간에 어떤 인스턴스를 생성하면 해당 인스턴스에도 설명해주신 멤버변수 예제에서처럼 똑같은 형태로 멤버변수가 들어가지나요?
@WalWaling Жыл бұрын
흥달쌤!!! 자바 객체지향은 거의 포기했었는데 이 영상보고 이해됐습니다! 문제 나오면 꼭 맞출게요 감사합니다 !!
@HeungSsaem Жыл бұрын
안녕하세요~~~ 도움이 되셨다니 다행입니다. 나오면 꼭 맞춰주세요~~ 감사합니다. ^^
@이름이없어-d3g6 ай бұрын
실행순서 문제로 나오면 바로 p로 가는 건가요 c로 갔다가 p로 간다고 하나요? c에 들리긴 하는데 시스템 아웃 프린트가 작동하지 않으니 애매합니다. P p1 = new C(); 에서 바로 class P p()으로 간다고 풀어야 할 까요?
@이름이없어-d3g6 ай бұрын
아버지가 날 낳았을 때.. 아들이 아버지를 상속 받았을 때 오버라이딩의 경우 아들을 호출하지만 아버지한테 받은 유산(메소드)이 있어야 하고 없으면 오류가 난다.
@youngseonpark582 Жыл бұрын
샘 첫번째 문제에서 질문있습니다. P p1 = new C(); 에서 만약에 p1.C()을 호출한다면 C()메서드는 자식만 갖고 있고 부모에는 없는 메서드니까 사용할수 없는게 맞나요?(오버라이딩 에러)
@HeungSsaem Жыл бұрын
안녕하세요~~~ 해당 부분은 메서드가 아닌 생성자이기 때문에, 생성자를 따로 호출을 할 수가 없습니다. 생성자는 인스턴스가 만들어질때, 그러니깐 new 할 때, 자동으로 호출되는 형태입니다. 만약 그게 메서드라면, 부모에는 없고, 자식에만 있는 형태이고, 부모가 가지고 있지 않기 때문에 오류가 발생하게 됩니다. 감사합니다. ^^
@sszxjj232 жыл бұрын
글보단 영상으로 해설해주는게 짱이지ㅎ
@HeungSsaem2 жыл бұрын
ㅋㅋㅋㅋ...이건 다 이해하신거잖아유
@성준-d1s Жыл бұрын
쌤 정말 궁금한것이있습니다. 생성자 문제 같은경우 새로 정의했을때 출력이됐는데 오버라이딩은 새로 정의했을때 왜 출력이안되는 건가요??
@정우혁-i4g2 жыл бұрын
너무 유용하네요 감사합니다
@HeungSsaem2 жыл бұрын
도움 되셨다니 다행이에요..^^ 많은 분들이 궁금해하셔서 촬영을 했는데, 혹시라도 이런 유형의 문제가 나오면 꼭 맞춰주세요..
@thatsrahee4 ай бұрын
24.7.10 생성자, 오버라이딩(자식 재정의), 하이딩(static) 부모가 가진 것 호출, 멤버변수(가까운 곳 찾아간다)
@nicenicely9978 Жыл бұрын
오 선생님 진짜 헷갈리네요. 아버지가 날 낳았을때 내 멤버변수는사용가능한데 나한테만 있는 메서드는 사용이 안되다니.... 왜이렇게 보면볼수록 새로울까요.. 아버지형태로 날 낳았을때 변수값 새로 정의하는 것도 새롭게 느껴져요 으아악 마지막 '멤버변수' 코너에서, 그럼 p1이라는 인스턴스를 아버지형태로 정의한 다음, 아버지의 a가 아닌 자식의 a값을 20으로 변경시키고싶다면 어떻게 적어야 할까요?
@HeungSsaem Жыл бұрын
안녕하세요~~~ 아버지가 자식의 멤버를 조작할 수는 없습니다. 만약 그렇게 하려면 자식의 메서드를 이용해야 하는데, 그건 변수의 유효범위에 들어가겠네요~~^^ 요걸 한번 참고해주세요~~ kzbin.info/www/bejne/qHragWuHZqidbMk 감사합니다. ^^
@jblue36986 ай бұрын
하..... 현직 자바개발 5년차인데... 시험공부하다가 여기까지 왔습니다.....
@Minggoooo Жыл бұрын
11:00 하이딩 개념
@Minggoooo Жыл бұрын
너무 어렵다 ㅠ ㅠ
@HeungSsaem Жыл бұрын
안녕하세요~~~~ 하이딩은 static 이라면 앞에서 선언된 형태의 메서드를 호출하면 됩니다. ^^ 시험이 임박했어서 답변 늦게 드려 죄송합니다. 시험을 보셨다면 좋은 결과 있으셨길 바랍니다. 감사합니다. ^^
@이름이없어-d3g6 ай бұрын
static 하이딩: 상속 상관 없이 그 놈을 호출한다.
@이름이없어-d3g6 ай бұрын
부모를 명시적으로 호출한다라는 건 super()를 말하는 것인지 아니면 다른 게 있는 건가요?
@햄볶음밥-n2m2 жыл бұрын
안녕하세요, 하이딩인걸 알 수 있는 경우는 부모,자식 모두 static을 가지고 있어야 할까요? 아니면 자식만 static이 있어도 될까요? ㅜ
@HeungSsaem2 жыл бұрын
안녕하세요~~~ 둘다 static 이 있어야지 하이딩이 됩니다. 만약에, 아래와 같이 되었을때, class P{ public static void g() { System.out.println("aaaa"); } } class C extends P{ public void g() { System.out.println("bbbb"); } } 오버라이딩 형태로 g 가 하나만 static 이라면 컴파일 오류가 발생합니다. 이건 자식만 static 이어도 오류가 발생합니다. 하이딩은 둘다 static 이어야 성립되는 문법입니다. 감사합니다. ^^
@햄볶음밥-n2m2 жыл бұрын
감사합니다!
@skytmddus37 Жыл бұрын
15:15 현 문항에서는 자식에만 static이 붙어있는데 오류가 난다고 설명을 안 해주셔서요, 문제에 오류가 있다고 계속 X 쳐주시는 건가요?
@user-is8lb7eu7x Жыл бұрын
안녕하세요 선생님, 마지막 멤버변수 문제에서 질문이 있습니다. class C에 만약 func2()가 있다면 p1.func2();는 C클래스의 func2가 출력이 되는것 맞을까요?? 감사합니다!
@HeungSsaem Жыл бұрын
안녕하세요~~~ 넵...맞습니다. 상속을 받은 상태에서 부모에는 없고, 자식에 있으면 자식의 메서드를 호출하게 됩니다. 이건 오버라이딩해서, 둘다 모두 func2가 있다고 해도 자식의 func2를 호출하게 됩니다. 오버라이딩 개념은 오늘 영상으로 촬영해서 업로드 하도록 하겠습니다. 감사합니다. ^^
@Siempre_feliz7 ай бұрын
부모가 가지고 있는 메소드만 출력 가능 그리고 오버라이딩 일 때는 자식 메소드 출력
@Siempre_feliz7 ай бұрын
하이딩 static을 가지고 있으면서 부모 메소드를 실행
@Siempre_feliz7 ай бұрын
자식이 가진 객체에선 지식 메소드 출력
@김아랑-s2f2 жыл бұрын
선생님 깨알 씨언어 완강했습니다 강의를 너무 잘 해주셔서 머리에 쏙쏙 들어오더라구요.... 근데 혹시 자바나 파이썬은 채널에서 아예 내려간 건가요? 🥹🥹
@HeungSsaem2 жыл бұрын
안녕하세요~~ 어려운 C언어인데, 완강해주셔서 감사합니다. ^^ 프로그램 올라간 강의들이 클레임들이 많아서 자바와 파이썬은 내려갔습니다. C언어도 재생목록을 삭제를 해뒀고요..ㅜㅜ 자바나 파이썬 다운로드 받아두신 분들이 꽤 있으실꺼에요. 그분들께 공유 요청하시면 공유해주시니 그걸로 좀 봐주시면 좋을 듯 합니다. 이제 제가 ㅇ로릴수가 없어서요..ㅜㅜ 감사합니다.
@sszxjj232 жыл бұрын
자바는 그래도어렵다 ㅠ
@수근-w3y Жыл бұрын
안녕하세요 선생님 !! 덕분에 자바 개념이 조금씩 잡혀가고 있습니다 근데 궁금한게 하나 있는데요 혹시 p p1 =new c()와 c p1 = new c() 의 차이점이 정확히 뭘까요?ㅜㅜ 알려주시면 감사하겠습니다 !!
@HeungSsaem Жыл бұрын
안녕하세요~~~ 그렇게 아버지 형태로 날 낳는걸 사용하는게, 추상화의 개념입니다. 추상화라는건 객체지향에서 중요한 개념이고, 공통의 성질을 모아놓은 거라고 보시면 됩니다. 두개의 차이점은 지금 강의에 나온 내용이 다라고 생각하시면 됩니다. ^^ 감사합니다.
@bmy455 Жыл бұрын
23년도 1회 마지막 자바 문제가 이해 안됐는데 딱 이렇게 설명해주신 영상이 있었네요~ 감사합니다! 좋아요 300개네요~!!
@HeungSsaem Жыл бұрын
안녕하세요~~~ 넵...마지막 문제가 상속에서 변수 유효범위 더라구요..^^ 도움이 되셨다니 다행입니다.
@수능시대3 ай бұрын
이영상 덕분에 이번에 70점으로 합격합니다
@minnyeongson4317 Жыл бұрын
선생님 메서드를 보고 오버로딩과 라이딩은 어떻게 구분할까요? 그냥 볼때는 똑같아 보이는데요 ㅠㅠ
@HeungSsaem Жыл бұрын
안녕하세요~~~ 오버로딩은 이름은 똑같고 인자가 틀린형태이고, 오버라이딩은 상속관계에서 부모의 메서드의 이름과 인자의 형태가 모두 같은 형태가 됩니다. 감사합니다. ^^
@Sj-bx8jq Жыл бұрын
이번 강의도 감사합니다. '오버라이딩' 파트에서 질문이 생겨서 댓글 남깁니다. 자료형을 부모P로 객체를 생성하지 않고 자식C로 생성했다고 가정하고 (즉 C p1 = new C();) p1.func1(); p1.func2(); p1.func3(); 를 하게 되면 C error D 가 출력된다고 생각하는데, 제 생각이 맞는지 여쭈어봅니다. 정말 감사합니다.
@HeungSsaem Жыл бұрын
안녕하세요~~~ 자식의 형태로 호출을 하게 되면, 모든 메서드를 다 사용할 수 있습니다. func2 는 부모에서 가지고 있고, public 형태이기 때문에 C B D 가 출력되게 됩니다. 감사합니다. ^^
@Sj-bx8jq Жыл бұрын
@@HeungSsaem클래스 C의 객체를 자료형도 C로 생성하더라도 (자료형과 상관없이) 클래스를 선언할 때 extends로 P를 상속받았기 때문에 부모클래스인 P의 메소드인 func2()도 사용할 수 있어 erorr 가 아니라 B가 출력되는거군요. 감사합니다.
@Gam-Ma2 жыл бұрын
정보처리기사 실기 2회차 풀이도 해주시는건가요?! 기다리고 있겠습니다!!
@HeungSsaem2 жыл бұрын
안녕하세요~~ 넵..10월 초에 촬영할 예정입니다. 좀만 기다려주세요.^^
@발랄-e7i Жыл бұрын
오버라이딩 하면 자식을 호출함
@모르는개산책-d4r Жыл бұрын
스포 ㄱㅅ
@고정인-m8u2 жыл бұрын
흐허헛 이개념 헷갈려서 카페에 몇번이나 글썼던게 기억나네요
@HeungSsaem2 жыл бұрын
안녕하세요.. 이 개념 질문이 많이 들어왔어요..^^ 이번 기회에 완벽하게 마스터 해주시면 좋겠습니다. 감사합니다.
@뚜루뇽2 жыл бұрын
쌤~~ 시험 문제에서 에러가 날때는 답에 Error을 써줘야하는걸까요 아니면 그냥 빈 칸으로 둬야하는걸까요?
@HeungSsaem2 жыл бұрын
안녕하세요~~~ 아마 에러를 쓰라는건 안나올껀데요, 혹시라도 나온다면 오류 라고 써주시면 됩니다. 자바의 오류는 워낙에 다양해서 오류 출력을 쓰지는 못합니다. ^^ 감사합니다.
@뚜루뇽2 жыл бұрын
선생님 저 엔잡 강의도 듣고있는데 프로그래밍 하다하다 불안한마음에 문풀 문제집사서 2일만에 완독했어요!! 이제 문제도 거의 다 풀려요 제발 시험도 그렇게 나오길바래요 ㅠㅠㅠㅠ
@이름이없어-d3g6 ай бұрын
업캐스팅이랑 다른건가
@user-toriking2 жыл бұрын
마지막 문제 static 없이 했는데 저렇게 한쪽에만 static 으로 문제가 나올 수도 있나요 나온다면 어떻게 결과가 될까요?
@HeungSsaem2 жыл бұрын
안녕하세요~~~ 오랜만에 글을 보는것 같아요.. 공부 열심히 하고 계시지요?? 이번 시험 얼마 남지 않았으니, 이번엔 꼭 합격하시길 응원할께요.. 질문주신거 답변 드리면 오류나요..^^ 컴파일 오류가 발생하게 됩니다. 감사합니다. ^^
@user-toriking2 жыл бұрын
@@HeungSsaem 오랜만입니다. 지금은 n잡에서 강의 듣고 있어요~! 이번에 꼭 따야죠! 답변 감사합니다.
@이준우-m4f Жыл бұрын
ㅋㅋ 반대로 아들이 아버지를 낳은 형태는 편법이 있다고 들었는데 어떻게 하죠?
@kkrc0410 Жыл бұрын
5:58 이 부분에서 왜 또 다시 A를 출력하는지 조금만 더 상세히 알려주실 수 있을까요..? ㅠ
@HeungSsaem Жыл бұрын
안녕하세요~~~ 첫번째 인스턴스를 생성하면서, 자식의 디폴트 생성자를 찾아가고, 자식이 아버지의 생성자를 명시적으로 호출하지 않았으니, 묵시적으로 부모의 인자없는 생성자를 호출해서 , A와 C를 출력합니다. 그리고 인스턴스를 다시 생성하고 있습니다. P p2 = new C(1); 이런 식으로요.. 인스턴스가 생성이 될때마다 생성자를 호출하게 되어 있습니다. 그래서 자식의 인자 있는 생성자를 봤더니 아버지의 생성자를 명시적으로 호출하지 않았으니, 묵시적으로 부모의 인자없는 생성자를 호출해서 , A와 D를 출력하게 됩니다. 감사합니다. ^^