객체지향

    객체지향 프로그래밍 vs 절차지향 프로그래밍

    객체지향 프로그래밍과 절차지향 프로그래밍에 대해서 알아보도록 하자. 📙 1. 객체지향 프로그래밍 (Object Oriented Programming, OOP) 📌 1. 개념 객체지향 프로그래밍이란 객체들이 모여서 상호 협력하면서 데이터를 처리하는 방식의 프로그래밍 설계 방법을 말한다. 📌 2. 특징 객체지향언어의 특징으로는 캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism), 추상화(Abstraction)가 있다. 🔎 1. 캡슐화(Encapsulation) 내부를 캡슐처럼 감싸서 그 내부를 보호하고 볼 수 없게 하는 것을 말한다. 데이터와 기능을 하나로 묶어서 관리하게 된다. 실제로 구현되는 부분을 외부로 드러나지 않도록 하여 정보를 은닉할 수 있다. 🔎 2..

    객체지향의 사실과 오해(2)

    4장. 역할, 책임, 협력 🚢 책임 책임은 객체지향 설계의 품질을 결정하는 가장 중요한 요소이다. 객체지향 설계의 예술은 적절한 객체에게 적절한 책임을 할당하는 데 있다. 설계를 시작하는 초반에는 어떤 객체가 어떤 책임을 가지고 어떤 방식으로 서로 협력해야 하는지에 대한 개요를 아는 것만으로도 충분하다. 책임과 협력의 구조가 자리를 잡기 전까지는 책임을 구현하는 방법에 대한 고민을 잠시 뒤로 미뤄두자. 역할 어떤 객체가 수행하는 책임의 집합은 객체가 협력 안에서 수행하는 역할을 암시한다. 역할은 재사용 가능하고 유연한 객체지향 설계를 낳는 매우 중요한 구성요소이다. 역할의 개념을 사용하면 유사한 협력을 추상화할 수 있다. 그리고 다양한 객체들이 협력에 참여할 수 있기 때문에 협력이 좀 더 유연해지며 다양..

    객체지향의 사실과 오해(1)

    역할, 책임, 협력 너무나도 읽어보고 싶었던 책이다. 물론 책 자체가 유명해서 읽어보고 싶기도 했지만, 여기서 나오는 이상한 나라의 앨리스 이야기가 특히 궁금하였다. 친구들이랑 얘기할 때 또는 강의를 들을 때 객체지향의 사실과 오해의 '이상한 나라의 앨리스'가 자주 등장해 왔기 때문이다. 이 책의 가장 큰 장점을 하나 정한다면 비유다. '커피 공화국의 아침', '이상한 나라의 앨리스', '지하철 노선도' 등 다양한 비유를 통해 개념들을 이해하기 쉽게 전달한다. 이 장점을 굳이 단점으로 본다면, 비유로 인해 구현 코드가 거의 나오지 않게 된다. 그래서 혹시나 구현 코드까지 기대했던 사람들은 여기서 개념을 확실히 잡고 다른 책을 읽어보면 좋을 거 같다. (물론 나도 객체지향에 관련해서 다른 책들을 추가적으로..