프로그래밍 농장

Polymorphism(다형성) 본문

IT 관련 정보

Polymorphism(다형성)

Tennessee201 2021. 8. 8.
728x90

Polymorphism(다형성)이 왜 존재하는 것인가? 에 대한 공부를 했을 때 클래스의 가치를 알게된다.


잘 구성된 클래스들은 설계를 복잡하게 만들기는 하지만 유지, 보수, 확장을 할 때 그 진가가 들어 난다.

가끔 개발자의 가장 강력한 무기는 Ctrl+C, Ctrl+V 라고 하는데, 이건 그냥 우스게 이야기 일뿐 잘 구성된 디자인에서는 이런게 필요없다.
copy and paste 를 2~3번 하다보면 이걸 폴리모피즘을 이용하면 편하게 수정 가능한 방법을 모색할 수 있고(아니면 템플릿을 이용한 제네릭프로그래밍으로), 그걸 적용하기 위해서는 기존 소스를 많이 고쳐야 하지만 일단 수정해 놓으면 추후 유지 보수에 편하다.

사실, C++ 은 C 를 기반으로 문법 위주(기본 라이브러리는 문법의 확장에 비하면 부족하다고 생각합니다)로 확장했기 때문에 클래스의 활용법에 대한 것을 배우려면 C++ 의 문법 공부 외에도 많은 공부가 필요합니다.
하지만, C++ 과 클래스 디자인에 대한 많은 연구가 이루어져서 어느정도 성숙기라고 할 수 있는 지금, 그런 좋은 이론들을 적용한 C# 과 그에 따른 .NET Framework 를 공부해 보시면 클래스는 이렇게 사용하기 위해 존재하는 것이구나를 느끼실 겁니다.

https://kldp.org/node/64458

 

Class가 필요한 이유가 뭔지요...? (c++) | KLDP

비판하는건 아닙니다 -_-;;; 몇날 몇일을 클래스의 필요성에대해서 설명을 들어봤지만 클래스의 필요성은 그다지 모르겠습니다.... 클래스가 쓰이는 확실한 용례는 없는지요? (클래스 이론은 이

kldp.org

 

728x90