개발하는 프로 국밥러
article thumbnail
[오브젝트] Chapter2 객체지향 프로그래밍
아키텍처/OOP 2022. 11. 2. 07:03

조영호님의 책 오브젝트를 보며 정리한 내용입니다. 문제가 될 시 해당글 삭제하겠습니다. 객체지향이란? - 객체를 지향하는 것으로! 그 중심에는 객체가 위치한다. - 객체지향에서 가장 중요한 것은 애플리케이션의 기능을 수행하기 위해 협력에 참여하는 객체들 사이의 상호작용이다. - 객체들은 협력에 참여하기 위해 역할을 부여받고 그에 적합한 책임을 수행한다. 객체지향 프로그래밍 주의사항! 1. 어떤 클래스가 필요한지가 아닌, 어떤 객체가 필요한지 생각해라! -> 설계를 단순하고 깔끔하게 만든다. 2. 객체를 독립적인 존재가 아닌 기능을 구현하기 위해 협력하는 공동체로 바라봐라! 자율적인 객체 1. 객체가 상태와 행동을 함께 가지는 복합적인 존재이다!(캡슐화) 2. 객체가 스스로 판단하고 행동하는 자율적인 존재..

article thumbnail
[오브젝트] Chapter1 객체 / 설계
아키텍처/OOP 2022. 11. 2. 06:59

조영호님의 책 오브젝트를 보며 정리한 내용입니다. 문제가 될 시 해당글 삭제하겠습니다. 객체지향에서 문제가 되는 코드 1. 예상을 빗나가는 코드 - 현실세계와 맞지 않는 행동의 메서드를 가지고 있는 경우 ex) 소극장이 표를 사는 고객의 가방에 접근하는 것은 실제와 맞지 않다. 2. 변경에 취약한 코드 - 결합도가 높은 코드의 경우, 변경사항이 발생했을 때, 연관된 많은 클래스를 바꾸어야 한다. - 이는 코드의 유지보수가 취약해 지는 문제가 있다. 객체지향의 목표 1. 객체 사이의 결합도를 낮춰 변경이 용이한 설계를 만들어야 한다. 올바른 객체지향 설계 - 객체 내부의 상태를 캡슐화하고, 객체 간에 오직 메시지를 통해서 상호작용하도록 만드는 것이다! 1. 객체의 자율성을 높이자! - 객체가 스스로 처리할..