본문 바로가기

추상화2

[C++] 객체지향과 클래스에 대해 - 다형성(Polymorphism) 이전 포스팅의 상속(Inheritance)에서 모바일 핸드폰을 예시로 들었는데요..! 파생클래스가 기본클래스의 기능을 포함하는 형태로 확장되는 것이라고 말씀드렸습니다. 동시에 파생클래스는 기본클래스 멤버를 자기자신으로 가져오는 것이 아니라 각각의 영역을 지키고 있다고 했습니다. 그럼 파생클래스 객체가 기본클래스가 가지고 있는 멤버함수를 커스터마이징을 하고 싶다면 어떻게 할까요?가령 전화기능을 사용하기 위해서 스마트폰 이전 세대의 모바일핸드폰은 물리적인 자판을 통해 번호를 입력합니다. 그런데 스마트폰은 디스플레이에 나타나는 가상의 키보드를 사용하구요. 입력 방식에 대한 차이가 드러납니다. 여기서 키포인트번호를 입력하는 함수가 기본클래스에 정의되어 있다고 가정 합시다. 그 기본클래스를 상속 받은 스마트폰이라.. 2020. 6. 26.
[C++] 객체지향과 클래스에 대해 - 추상화(Abstraction) 포스팅에 앞서 네이밍에 대해 알려드립니다. 클래스는 C(class)를 붙히고 멤버변수m_[타입][이름]으로 선언 합니다. m는 member의 약자입니다. [객체지향과 클래스에 대해 시리즈]는 객체지향의 특성을 단순히 외우는 것이 아닌 이해를 바탕으로 기본을 다져 더욱 생산성있는 코드를 작성해보자 라는 취지에서 포스팅 하게 되었습니다. C++을 시작하시는 분들에게 도움이 됐으면 좋겠습니다. 차근차근 재밌게 읽어주시면 감사하겠습니다. 클래스란 어떠한 행위(동작)나 특징(성질)을 가지는 틀 입니다. 지금 당장 떠오르는 사람이나 사물이 있나요? 마침 제 옆에 핸드폰이 있네요. 아이폰, 갤럭시, V시리즈 등등 수 많은 핸드폰의 공통된 기능이 무엇일까요? 핸드폰이 가지는 공통적인 특징 1. 마이크, 스피커를 가지고.. 2020. 6. 15.