Python

파이썬을 배워보자!{클래스와 객체(오버라이딩)}

25G 2021. 4. 18. 19:37

안녕하세요~~ 오늘도 클래스를 사용하기 위해선 꼭 알아둬야 할 개념을 들고 나왔습니다! ㅎㅎ 걱정 마세요 그렇게 어려운 개념이 아니니 금방 이해하실 겁니다! 물론 앞서 말씀드렸던 클래스와 객체들을 다 잘 보고 오셨다면요?,,,,크흡....

그럼 오늘은 잔말 없이 바로 시작하겠습니다ㅎㅎ

 

그럼 일단 오버라이딩을 설명하기 좋은 예시를 가지고 오겠습니다

 

 

네 저번에 상속을 설명드렸을때 사용했던 그 클래스입니다 person클래스를 PersonStudent클래스가 상속을 받고 있는 상황이군요 근데 제가 빨간색으로 지저분하게 칠해놓은 메서드를 보시면 위에 Person클래스와 기능이 겹치는 것을 보실 수 있습니다 그래서 say2로 메서드 이름을 정의했지만 사실 이것은 메서드 이름 낭비 이기도 하고 제가 늘 말씀드리는 것이지만 코드가 많아지면 많아질수록 비효율적인 코드를 작성하실 수밖에 없으실 겁니다

그럴 때 사용하는 스킬! 오버 라이딩!!

별거 없죠?! Person클래스와 메서드 명을 같이하지만 안에 있는 기능만 수정을 해서 같은 이름 다른 기능을 하도록 만들었습니다. 그러면 Person클래스의 say메서드를쓸 때는 Person클래스타입으로 객체를 만들고 PersonStudent클래스의 say메서드를 쓸때는 PersonStudent타입의 객체로 호출하면 됩니다

이렇게 호출을 하면 결과는

"말하기"

"안녕하세요. 학생입니다."

이렇게 나오겠죠?!

오버 라이딩! 쉽게 이해하시려면 일단 두 클래스가 상속관계여야 하고 오버 라이딩하려는 메서드의 기능에 공통점이 있어야 합니다 그리고 같은 이름 다른 기능을 추가하시면 위와 같이 좀 더 편리한 오버 라이딩! 기능을 사용할 수 있습니다

라이딩:타다 이런 식으로 이해하면 조금 더 이해하시는데 도움이 되실 거라 생각합니다

 

오늘은 아주 라이트 하게 오버 라이딩이라고 하는 기능을 소개해 드려 봤습니다! 

긴 글 읽어주셔서 감사합니다!

안녕~~!~~!