분류 전체보기 178

[독서] "객체지향의 사실과 오해" 5일차

#코딩 #개발자 #객체지향의사실과오해 #개발자필독 #도서리뷰 1 주차 화 | Assignment #5 📚 5장. 책임과 메시지 ✔️ TIL 오늘 TIL 3줄 요약 책임, 메시지 공용 인터페이스, 내부 인터페이스 객체의 자율성 TIL (Today I Learned) 날짜 2022.04.19~20 오늘 읽은 범위 5장. 책임과 메시지 책에서 기억하고 싶은 내용을 써보세요. 다형성은 객체들의 대체가능성을 이용해 설계를 유연하고 재사용 가능하게 만든다. (p.151) 객체지향이 유연하고 확장가능하고 재사용성이 높다는 명성을 얻게 된 배경에는 다형성이라는 강력한 무기가 있었기 때문이다.(p.152) 클래스가 코드를 구현하기 위해 사용할 수 있는 중요한 추상화 도구인것은 사실이지만, 객체지향의 강력함은 클래스가 아..

[독서] "객체지향의 사실과 오해" 4일차

#코딩 #개발자 #객체지향의사실과오해 #개발자필독 #도서리뷰 1 주차 월 | Assignment #4 📚 4장. 역할, 책임, 협력 ✔️ TIL 오늘 TIL 3줄 요약 역할, 책임, 협력 단순성, 유연성, 재사용성 책임주도개발, 디자인패턴, 테스트주도개발 TIL (Today I Learned) 날짜 2022.04.18 오늘 읽은 범위 4장. 역할, 책임, 협력 책에서 기억하고 싶은 내용을 써보세요. 동일한 역할을 수행하는 객체들이 동일한 메시지를 수신할 수 있기 때문에 동일한 책임을 수행할 수 있다는것은 매우 중요한 개념이다. 이 개념을 제대로 이해해야만 객체지향이 제공하는 많은 장점을 누릴 수 있다.(p.126) 역할은 객체지향 설계의 단순성, 유연성, 재사용성을 뒷받침하는 개념이다.(p.126) 객체..

[독서] "객체지향의 사실과 오해" 3일차

#코딩 #개발자 #객체지향의사실과오해 #개발자필독 #도서리뷰 1 주차 일 | Assignment #3 📚 3장. 타입과 추상화 ✔️ TIL 오늘 TIL 3줄 요약 타입과 클래스 추상화 타입과 객체 TIL (Today I Learned) 날짜 2022.04.17 오늘 읽은 범위 3장. 타입과 추상화 책에서 기억하고 싶은 내용을 써보세요. 데이터 타입은 메모리 안에 저장된 데이터의 종류를 분류하는데 사용하는 메모리 집합에 관한 메타데이터다. 데이터에 대한 분류는 암시적으로 어떤 종류의 연산이 해당 데이터에 대해 수행될 수 있는지를 결정한다. 객체는 데이터인가? 그렇지않다. 다시한번 강조하지만 객체에서 중요한것은 객체의 행동이다. 다형성이란 동일한 요청에 대해 서로 다른 방식으로 응답할 수 있는 능력을 뜻한다..

[독서] "객체지향의 사실과 오해" 2일차

#코딩 #개발자 #객체지향의사실과오해 #개발자필독 #도서리뷰 1 주차 토 | Assignment #2 📚 2장. 이상한나라의 객체 ✔️ TIL 오늘 TIL 3줄 요약 상태에 따라 변하는게 아니라 행동에 따라 상태가 변한다. 식별자 객체와 현실세계의 은유적 표현 관계 TIL (Today I Learned) 날짜 2022.04.16 오늘 읽은 범위 2장. 이상한나라의 객체 책에서 기억하고 싶은 내용을 써보세요. 객체는 스스로의 행도엥 의해서만 상태가 변경되는 것을 보장함으로써 객체의 자율성을 유지한다.(p.52) 이것이 캡슐화가 의마하는 것이다. 객체는 상태를 캡슐 안에 감춰둔 채 외부로 노출하지 않는다. 객체가 외부에 노출하는 것은 행동뿐이며, 외부에서 객체에 접근할 수 있는 유일한 방법 역시 행동뿐이다...

[디자인패턴] 옵저버패턴(Observer Pattern) 이란? - 개발자 배찌

😀옵저버패턴 (observer pattern) 다수의 객체가 특정객체 상태변화를 감지하고 알림을 받는 패턴 😀옵저버 패턴의 장점 상태를 변경하는 객체와 변경을 감지하는 객체(observer)의 관계를 느슨하게 유지할 수 있다. 상태 변경을 주기적으로 조회하지 않고 자동으로 감지할 수 있다. 😀옵저버 패턴의 단점 복잡도가 증가한다. 다수의 observer객체를 등록 이후 해지하지 않으면, 메모리누수 발생할 수 있다. 😀코드로 알아보기! ChatServer.java package study.observerPattern.code1; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; p..

DESIGN PATTERN 2022.04.15

[디자인패턴] 템플릿 메소드 패턴(template Method Pattern) 이란? - 개발자 배찌

😀템플릿 메소드 패턴 - 특정 작업을 처리하는 일부분을 서브클래스로 캡슐화하여 전체적인 구조는 바꾸지 않으면서 특정단계에서 수행하는 내용을 바꾸는 패턴 - 객체지향 언어로 개발을 하다 보면 무의식적으로 사용하는 패턴. 😀템플릿 메소드 패턴 장점 - 중복코드를 줄일 수 있다. - 자식클래스의 역할을 줄여 핵심 로직의 관리가 용이하다. 😀템플릿 메소드 패턴 단점 - 추상메소드가 많아지면서 클래스 관리가 복잡해진다. - 클래스간의 관계와 코드가 꼬일 염려가 있다. 😀코드로 알아보기!! Teacher.java package study.templateMethodPattern.code0; import lombok.extern.slf4j.Slf4j; @Slf4j public abstract class Teacher ..

DESIGN PATTERN 2022.04.15

[독서] "객체지향의 사실과 오해" 1일차

#코딩 #개발자 #객체지향의사실과오해 #개발자필독 #도서리뷰 1 주차 금 | Assignment #1 📚 1장. 협력하는 객체들의 공동체 ✔️ TIL 오늘 TIL 3줄 요약 역할, 책임 협력 객체지향의 본질 : 객체를 지향하라 객체의 자율성 TIL (Today I Learned) 날짜 2022.04.15 오늘 읽은 범위 1장. 협력하는 객체들의 공동체 책에서 기억하고 싶은 내용을 써보세요. 객체가 충분히 '자율적'이어야 한다는 것이다. '자율적'이라는 단어의 뜻은 '자기 스스로의 원칙에 따라 어떤 일을 하거나 자기 스스로를 통제하여 절제하는 것'을 의미한다. (p.32) 객체지향의 중심에는 클래스가 아니라 객체가 위치하며, 중요한것은 클래스들의 정적인관계가 아니라 메시지를 주고받는 객체들의 동적인관계다...

[노개북] "실용주의프로그래머" 챌린지 성공 후기 및 수료증!

노마드 개발자 북클럽 - 실용주의프로그래머 - 3주 완성반 (2기) 졸업!! 😊후기😊 노마드코더에서 진행하는 북클럽 챌린지 벌써 두번째 수료증!! 첫번째로 3주완성반 '클린코드'를 수료하고, 이번에는 3주완성반 '실용주의프로그래머'를 수료하였다. 아쉽게도 다음 북클럽 챌린지에서는 이미 수료한 '클린코드'를 재진행 하고있었기 때문에 참여를 못했지만, 또 다른 책으로 북클럽 챌린지를 진행하면 바로 참여할 생각이다 ㅎ_ㅎ 개발자 필독도서이기 때문에 읽고 견문을 넓힐 수 있었고, 일단 2022년에 개발자 필독도서를 벌써 2권이나 읽었다는 나 자신에게 너무 칭찬한다. 실용주의 프로그래머에서 가장 기억에 남았던 글 중 하나는 한달에 한권씩 개발자필독도서를 읽자!! 라는 글이다. 나의 목표는 2022년에 개발자 필독..

[디자인패턴] 싱글톤패턴(singleton Pattern) 이란? (+static) - 개발자 배찌

😀싱글톤 패턴 전역변수를 사용하지 않고, 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 패턴. 객체의 인스턴스가 오직 1개만 생성되는 패턴. 애플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고(static), 그 메모리에 인스턴스를 만들어 사용하는 디자인패턴. 😀싱글톤 패턴 장점 고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 사용하기 때문에 메모리 낭비를 방지할 수 있음. 두번째 이용시 부터는 객체 로딩시간이 현저하게 줄어 성능이 좋아진다. 😀싱글톤 패턴 단점 멀티스레딩 환경에서 동시성문제가 발생할 수 있다. 동시성 문제를 해결하기 위해 syncronized 키워드를 사용해야 한다. 테스트하기 어렵다. 싱글톤 인스턴스는 자원을 공유하기때문에..

DESIGN PATTERN 2022.04.14

[디자인패턴] 인터프리터패턴(Interpreter Pattern) 이란?

😀인터프리터 패턴 - 행동패턴으로, 특정 표현이나 언어로 바꿔주는 표현 인터페이스를 사용하는 패턴. - 문법 규칙을 클래스화 한 구조로, 일련의 규칙으로 정의된 문법적 언어를 해석하는 패턴. - sql과 같은 계층적 언어를 해석하기 위해 계층구조를 표현할 수 있음. 😀코드로 알아보기!! Expression.java package study.InterpreterPattern.code0; public interface Expression { boolean interprete(String context); } MinusExpression.java package study.InterpreterPattern.code0; public class MinusExpression implements Expression{ ..

카테고리 없음 2022.04.13