OOP란?

객체지향 프로그래밍

객체 지향 프로그래밍은 컴퓨터 프로그래밍 패러다임중 하나로, 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법 이다.

사물을 객체로 형성하여 공통점을 갖는 모든 곳에서 상속받는 객체 내부의 모든 로직을 캡슐화 합니다. 의도하지 않아도 상속했다는 이유로 모든 속성과 행위를 공유해야하며, 복잡한 상속 구조를 지닌 클래스를 상속했다면 원하는 클래스를 참조해야 할때 다운캐스팅을 해야 합니다. 그리고 가장 큰 단점으로 superClass만 상속할 수 있다는 점으로 추후 기능도 확정될 수 있는데 이에 따라 복잡도가 높아지고 관리도 어려워지게 됩니다.

객체 지향 설계의 5원칙 SOLID

https://inpa.tistory.com/entry/OOP-💠-객체-지향-설계의-5가지-원칙-SOLID

객체지향의 중요한 개념 다형성(Polymorphism)

OOP의 장점