본문 바로가기
반응형

객체지향11

객체지향 (Object Oriented) 디자인 (Design) 여기서 이야기하는 디자인은 코드 설계와 동일하게 봐도 무방하다. 디자인이 왜 중요한가? 요즘의 웹 애플리케이션 개발에서는 디자인에 대한 지식이 없더라도, 원하는 바대로 작동하는 웹 애플리케이션을 만들 수 있다. 특히나 최근의 언어들은 문법이 너무나 친절하여 자신의 생각을 순차적으로 정리만 할 수 있다면 누구나 원하는 웹 애플리케이션을 만들 수 있다. 작은 규모의 웹 애플리케이션에서는 이렇게 디자인을 전혀 고려하지 않고, 기능 구현에만 신경써도 문제는 없다. 아니, 아예 좋지 못한 디자인이라해도 문제가 되지 않는다. 객체간의 복잡한 관계, 계층화 되지 않은 구조 등 모듈화가 전혀 없어도 개발자의 머릿속에 모든 것들을 담아두고 개발을 할 수 있기 때문이다. 반대로 얘기하면 특정 누군가만 손댈수 있고, 그 사.. 2021. 8. 13.
Public / Private 인터페이스 여기서의 인터페이스란 class, interface, abstract class 등에서 이야기하는 interface 가 아니다. 서로 다른 객체간에 어떤 것들을 사용할 수 있을지에 대한 명세를 이야기한다. Method, Function 등이 모두 포함된다. (위 2개 그림은 모두 동일한 원 (클래스)를 가지고 있으며, 화살표 (의존)만 다르다.) 똑같은 클래스들을 가지고, 누구는 첫번째처럼 얼기설기 얽혀있는 구조로 모든 객체가 서로 연결된 구조를 만들고, 누구는 두번째처럼 각 클래스들이 전달 하는 메세지와 관계가 명확하게 드러내도록 만든다. 이렇게 차이 나는 이유는 클래스가 하는 일에만 집중하고, 무엇을 드러내고, 무엇을 숨길지에 대해 전혀 고려하지 않았기 때문이다. 첫번째는 이를 전혀 고려하지 않아서 .. 2021. 7. 28.
우아한 객체지향-2019년 6월 우아한 Tech 세미나 참석 후기 우아한형제들의 Tech 세미나 6월 주제! 우아한 객체지향에 다녀왔습니다. 부제: 의존성을 이용해 설계 진화시키기 이미 발표자이신 조영호님께서 발표자료를 공유하신 상태라서 아래 자료들과 함께 후기를 보시면 더욱 도움이 될것 같습니다. 발표자료 코드 1단계 2단계 3단계 후기에 들어가기 앞서, 소감을 말씀드리면. 혹시나 다음에 또 같은 주제로 발표가 이루어진다면 꼭 들어보세요. 그동안 말로 설명하지 못하고 모호하고 막연하게 생각하고 이야기했던 것들을 명확하게 정리할 수 있었던 시간이였습니다. 너무 내용이 좋아서 듣는내내 기분이 좋고 흥분되었습니다. 주변의 많은 분들이 들었으면 좋겠다는 생각이 들어서 발표 장표를 다시 돌아보며 하나하나 후기를 작성했습니다. 너무 좋은 내용이였으니 나중에 볼 기회가 있으신 분.. 2019. 6. 20.
일급 컬렉션 (First Class Collection)의 소개와 써야할 이유 최근 클린코드 & TDD 강의의 리뷰어로 참가하면서 많은 분들이 공통적으로 어려워 하는 개념 한가지를 발견하게 되었습니다. 바로 일급 컬렉션인데요. 왜 객체지향적으로, 리팩토링하기 쉬운 코드로 갈려면 일급 컬렉션이 필요한지에 대해 많은 분들이 공감하지 못하는걸 보게 되었습니다. 그래서 이번 시간에는 일급 컬렉션 (First Class Collection) 이 무엇인지, 어떤 장점들이 있는지에 대해 소개드립니다. 일급 컬렉션이란 단어는 소트웍스 앤솔로지 의 객체지향 생활체조 파트에서 언급이 되었습니다. 규칙 8: 일급 콜렉션 사용 이 규칙의 적용은 간단하다. 콜렉션을 포함한 클래스는 반드시 다른 멤버 변수가 없어야 한다. 각 콜렉션은 그 자체로 포장돼 있으므로 이제 콜렉션과 관련된 동작은 근거지가 마련된셈.. 2019. 4. 1.
애플리케이션 아키텍처와 객체지향 by 조영호 - 참석 후기 2010년도, 2015년도에 이미 한번 발표한 자료레이어드 아키텍처와 객체지향의 접목 생각보다 올드함 요즘의 트렌드에서 조금 벗어날수 있지만, 기본적인 설계를 배워보는 정도로 볼것 2가지 방법을 실행 하나는 절차지향 하나는 객체지향 둘을 비교 발표는 1시간 정도 1. 영화 예매 도메인 온라인 영화 예매 시스템 도메인 컨셉 Movie (영화) 제목, 상영시간 등등 Showing (상영) 어떤 시간에 상영되는지 실제로 사용자들이 예매하는 대상 Discount (할인 정책) 고정된 금액으로 할인 비율 (%)로 할인 Rule (할인 규칙) 어떨때 할인 해줄지 영화의 순번을 갖고 할인 조조 상영일 경우 10회차 상영일 경우 시간대 할인 월요일 10 ~ 12시 목요일 저녁 6시 ~ 9시 할인 정책 + 할인 규칙 M.. 2018. 10. 15.
객체지향 좀 더 이해하기 - 블랙잭 게임 구현 (6) 코드리뷰 이 프로젝트를 OKKY에 올리고 나서 OKKY의 연예인이신 fender님의 리뷰을 받을 수 있었습니다. 개인적으로는 블로그에 글을 올리고나서 OKKY에 항상 바로 올리는 이유가 이런 선배님들의 피드백때문입니다. 바로 리뷰에 대한 수정을 진행하려고 했으나, 이전부터 작업하던 Spring AOP 정리를 마무리하는게 먼저라 시작이 늦었습니다. 다행히 이번주 평일전체를 연차로 쉴수 있게되어 AOP 내용도 정리하고, 이제라도 리뷰 수정을 진행할 수 있게 되었습니다. fender님의 리뷰에서 나온 수정사항들은 아래와 같습니다. Card의 패턴과 끗수를 enum으로 자연스러운 네이밍 isReceiveCard, receiveCardAllPlayers 등은 정상적인 문법은 아님 list 대신 stack을 사용 .. 2016. 12. 10.

728x90