- 이번 글에서는 객체지향 프로그래밍의 주요 특징인
- 상속성과 다형성에 대해서 조금 더 자세히 살펴보겠다.
클래스의 상속
- 클래스의 상속은 Subclassing이라고도 하는데,
- 기존에 구현 되어있는 클래스를 확장하고 변형하는 것을 말한다.
- 부모 클래스와 자식 클래스로 관계를 표현하고,
- 상속을 하면 할 수록 더욱 확장되는 구조를 갖고 있다.
상속하는 방법
- 클래스의 상속은 다음과 같이 콜론뒤에 상속할 클래스명을 적어서 수행할수 있다.
class UniversityStudent: Student
{
}
상속 관계 예시
다형성
- 객체지향 프로그래밍의 다형성은 주로 오버라이딩과 오버로딩을 의미한다.
오버라이딩
- 오버라이딩이란 부모 클래스에게서 상속 받은 메서드를 그대로 사용하지 않고,
- 자식 클래스에 맞게 변경하여 사용하는 것이다.
- 예를들어, 위 상속 관계 예시 사진에서.
- Person 클래스의 eat 메서드는 집밥을 먹게 하고,
- Student 클래스의 eat 메서드는 급식을 먹게하고,
- UniversityStudent 클래스의 eat 메서드는 학식을 먹게 하는 것이다.
오버로딩
- 오버로딩은 같은 이름의 함수를 매개변수에 따라 다양하게 구현하는 것을 의미한다.
- 예를들어, add라는 같은 이름의 함수라고 해도.
- 입력 받는 매개변수의 갯수에 따라 다르게 구현할 수 있는 것이다.