하자 Haja

3. 상속 (부모님께 물려받기)

처음부터 다 짜지 말고 부모님의 코드를 그대로 물려받아 재활용해 볼까요?

비슷한 클래스를 또 만들어야 할 땐 처음부터 다시 쓰지 말고, 부모님의 기능을 그대로 물려받으세요! (상속) 이때는 바탕으로를 사용하고, 부모님의 코드를 가져올 땐 부모 키워드를 씁니다.

[동물]을 설계하자:
    '이름'을 [문자열]인 "이름없음"으로 정하자
    
    처음 만들어질 때 ('새이름') 다음과 같이 하자:
        '나'의 '이름'을 '새이름'으로 정하자
        
    <울기>를 만들자 ():
        "동물이 웁니다."를 출력하자

(참고) 동물을 바탕으로 강아지를 설계해요!
[동물]을 바탕으로 [강아지]를 설계하자:
    처음 만들어질 때 ('새이름') 다음과 같이 하자:
        부모의 <처음 만들어질 때>('새이름')을 실행하자

    <울기>를 만들자 ():
        틀"{'나'의 '이름'}: 멍멍!"을 출력하자

'바둑이'를 [강아지]인 [강아지]("바둑이")로 정하자
'바둑이'의 <울기>()를 실행하자

보시다시피 부모의 <울기> 대신 강아지만의 <울기>가 실행되었죠? 이를 **덮어쓰기(Overriding)**라고 한답니다. 부모의 기능은 그대로 두면서 내 입맛에 맞게 고쳐 쓸 수 있어요!


누구의 자식인지 확인하기

어떤 객체가 특정 클래스에서 만들어졌는지, 혹은 그 부모의 자식인지 궁금할 땐 의 일종이다를 사용해 보세요.

'테스트'를 [강아지]인 [강아지]("멍멍이")로 정하자

만약 ('테스트' 가 [강아지] 의 일종이다) 라면:
    "이 객체는 강아지입니다!"를 출력하자

만약 ('테스트' 가 [동물] 의 일종이다) 라면:
    "강아지는 동물이기도 하죠!"를 출력하자

강아지는 동물을 바탕으로 만들어졌기 때문에, [강아지]의 일종이기도 하고 [동물]의 일종이기도 해요!

놀이터 (Playground)

터미널
코드를 작성하고 '실행' 버튼을 눌러보세요.