객체지향 스터디 모임 일지(2)
-
Mixin in JAVA
Mixin in JAVA 믹스인은 객체지향에서 일부 코드를 클래스에 주입할 수 있는 메커니즘을 제공하는 개념입니다. 믹스인 프로그래밍이란 기능 단위가 클래스에서 생성된 다음 다른 클래스와 혼합되는 개발 스타일을 이야기합니다. 이렇게 글로만 표현하려니 헷갈릴 겁니다. 코드를 보면 금방 와닿을 겁니다. 조류(Bird)와 비둘기(Dove) 조류의 특징이 뭘까요? 아마 대부분 날다(fly)를 생각할 수 있습니다. 그렇다면 이 개념을 자바로 구현해 봅시다. Bird는 날아다니는 '행동'이 가능하니, 인터페이스로 표현하면 다음과 같을 겁니다. public interface Bird { void fly(); } 이제 구체적인 조류인 비둘기를 구현해 보죠. public class Dove { void fly() { S..
2023.05.25 -
객체지향의 사실과 오해.. 그리고 TDA(Tell Don't Ask)
운좋게 F-LAB에서 진행하는 오프라인 스터디 모임에 참여할 기회가 생겼는데, '객체지향의 사실과 오해'를 읽고 요약한 내용을 발표하고 질문을 주고받으며, 배운 내용을 실무에 어떻게 적용하는지에 대한 사례를 짚어보는 과정으로 스터디를 진행했습니다. 이번 시간에는 5장 '책인과 메세지'에 대한 내용을 짚어보던 중 책임주도설계와 TDA(Tell Don't Ask)에 대해 배웠고 해당 내용을 복습하고자 이 게시글을 작성해가 되었습니다. 객체지향 프로그래밍에서 활용되는 원칙으로 'TDA 원칙'이라고도 합니다. 직역하자면 "묻지 말고 그냥 시켜라"가 되겠습니다. 이는 협력관계에 있는 객체끼리는 정보를 요구하지 말고 그냥 시키라는 의미로 해석할 수 있습니다. 정보를 요구하지 않는다는 점에서 '정보 은닉'의 중요성을..
2023.05.23