목록2024/01/07 (2)
개발하는 리프터 꽃게맨입니다.
다형성이란 무엇인가? 다형성은 '하나의 함수가 여러 기능을 가질 수 있는 특성'을 뜻합니다. 다형성 또한 상속, 은닉성을 잇는 OOP의 매우 중요한 개념이라고 볼 수 있죠. 다형성에는 2가지 종류가 있습니다. 1) 같은 이름의 함수가 여러 종류의 매개변수를 처리하여 다른 기능을 하도록 하는 오버로딩 2) 부모 클래스에 존재하는 함수를 자식 클래스에서 재정의하여 다른 기능을 하도록 하는 오버라이딩 오버로딩은 이전 포스팅 '연산자 오버로딩'에서 비슷한 내용을 다뤘으므로, 자세한 것은 설명하지 않을 것이고 OOP에서 중요한 것은 오버라이딩입니다. 오버라이딩은 클래스 상속 관계에서 완전히 같은 이름과 같은 매개변수를 가지는 함수를 자식 클래스에서 재정의하여 다른 기능을 하도록 재정의하는 것입니다. 해당 코드를 ..
개요 객체 지향 프로그래밍의 핵심 개념은 은닉성, 상속, 다형성입니다. 이번 포스팅에서 설명할 것은 '상속'인데, 상속은 객체들을 관리하고 설계하기에 매우 훌륭한 도구입니다. '상속'은 '파생 클래스'가 '기초 클래스'의 기능을 계승하는 것이라고 설명할 수 있습니다. 일반적으로 상속의 뿌리에는 '베이스 클래스'라는 것이 있고, 베이스 클래스를 상속받는 '파생 클래스'가 존재합니다. 흔히 이것을 '부모'와 '자식'의 관계에 있다고 말하는데요. 부모는 자식에게 상속하고 싶은 함수와 변수를 설정하고, 자식은 부모로부터 상속받은 함수와 변수를 사용할 수 있습니다. 다음 코드로 예시를 보겠습니다. class Player { public: Player(int x, int y, int id) : _x(x), _y(y..