여러가지 디자인 패턴에 대해 하나씩 정리할 예정인데, 그 첫 번째로 Delegation패턴을 준비해 보았습니다🤗 ✅ Delegate? 명사: (집단의 의사를 대표하는) 대표(자) 동사: (권한업무 등을) 위임하다 Delegate라는 단어의 뜻에서 예측할 수 있듯, 델리게이션 디자인 패턴은 대표로 지정된 객체가 다른 객체를 대신해 동작 또는 조정할 수 있는 기능을 제공해요😲 실생활의 예로, 사장과 비서가 있다고 봅시다..! // 비서는 CEO가 할 일을 대신해줌 // 비서에게 CEO의 권한과 할 일을 위임(Delegate) // CEO가 어떠한 요청을 보낼 때, 비서가 어떤 일을 할 지를 미리 협약해야함 -> protocol로! protocol secretarial { // CEO는 비서에게 뭐(검색키워드..
자격증(정보처리기사)공부를 하거나, 학부때 그냥 외우기만📚 했었던, OOP(객체지향프로그래밍)을 위한 5가지 설계원칙에 대해 알아보고자 합니다! "A = B 다" 같은 느낌 보다는, 왜 A가 B가 되는건지에 대한 이해를 목표로 잡았어요⚾️ Object-Oriented Programming 객체 지향 프로그래밍에 대해 정말 많고 다양한 해석들이 있어요. (class와 instance를 붕어빵틀과 붕어빵에 비유하는 등) 저는 이것들에 대해 각각 실제의 사물과 대칭시켜 예시를 들지않고, black box😎느낌으로 정리해 보겠습니다..! 캡슐화 하나의 프로그램을 실행시키면 그안에 무수히 많은 데이터가 있고, 그 무수히 많은 데이터를 연산하는 메서드가 있습니다. 이 많은 친구들을 한 공간에 넣어두면 이후, 유지보..
자격증(정보처리기사)공부를 하거나, 학부때 그냥 외우기만📚 했었던, OOP(객체지향프로그래밍)을 위한 5가지 설계원칙에 대해 알아보고자 합니다! "A = B 다" 같은 느낌 보다는, 왜 A가 B가 되는건지에 대한 이해를 목표로 잡았어요⚾️ 일단 쭉 읽어보고 넘어갑시다 🏇🏼 단일 책임 원칙 (SRP: Single-Responsibility Principle) 소프트웨어 요소(클래스, 모듈, 함수 등)는 되도록 응집도(?)있는 단 하나의 책임(?)을 가져야 합니다. 클래스의 변경이 일어나는 경우는 오직 응집도(?)때문이어야 합니다. 개방-폐쇄 원칙 (OCP: Open-Close Principle) 소프트웨어 요소는 확장이 가능하도록 열려있고(?), 변경은 되지않도록 닫혀있어(?)야 합니다. 새 기능을 추가해..