Goal 전략 패턴에 대해 알아보고 이해한다 전략 패턴이 필요한 경우의 예시를 알아본다 문제를 파악하고, 디자인 원칙에 대해 알아본다 디자인 원칙에 입각한 전략패턴 이해하기 캡슐화된 행동 살펴보고 이해하기 클래스를 합치는 방법은 무엇인가? 전략 패턴 (Strategy Parttern) 객체 동작을 실시간으로 바뀌도록 할 수 있게 하는 행위 디자인 패턴 이다. 여기서 '전략'이란 일종의 알고리즘이 될 수 도 있으며, 기능이나 동작이 될 수도 있는 특정한 목표를 수행하기 위한 행동 계획을 말한다. 왜 or 언제 전략 패턴을 사용하는가? 어떤 일을 수행하는 알고리즘이 여러가지 일때, 동작들을 미리 전략으로 정의함으로써 손쉽게 전략을 교체할 수 있는, 알고리즘 변형이 빈번하게 필요한 경우에 적합한 패턴이기 때문..
Java
시작하기 전 ... 프록시 패턴은 목적에 따라 여러가지 패턴의 양상을 띈다. 이번 포스팅에서는 보호 프록시에 대해 알아보도록 하고, 전반적인 프록시 패턴의 개념은 아래 포스팅을 참고하면 된다. https://dev-rosiepoise.tistory.com/80 [Proxy Pattern] 프록시 패턴이란? Goal 프록시 패턴이란 무엇인지 알아보고 이해한다 프록시 패턴의 다이어그램 프록시 패턴 (Proxy Pattern) 특정 객체로의 접근을 제어하는 대리인(특정 객체를 대변하는 객체)를 제공한다. 실제 객 dev-rosiepoise.tistory.com Goal 보호 프록시에 대해 알아보고 이해한다 보호 프록시 샘플 코드를 통해 보호 프록시를 이해한다 프록시 패턴 (Proxy Pattern) 특정 객체..
시작하기 전 ... 프록시 패턴은 목적에 따라 여러가지 패턴의 양상을 띈다. 이번 포스팅에서는 가상 프록시에 대해 알아보도록 하고, 전반적인 프록시 패턴의 개념은 아래 포스팅을 참고하면 된다. https://dev-rosiepoise.tistory.com/80 [Proxy Pattern] 프록시 패턴이란? Goal 프록시 패턴이란 무엇인지 알아보고 이해한다 프록시 패턴의 다이어그램 프록시 패턴 (Proxy Pattern) 특정 객체로의 접근을 제어하는 대리인(특정 객체를 대변하는 객체)를 제공한다. 실제 객 dev-rosiepoise.tistory.com Goal 가상 프록시에 대해 알아보고 이해한다 가상 프록시 샘플 코드를 통해 가상 프록시를 이해한다 프록시 패턴 (Proxy Pattern) 특정 객체..
시작하기 전 ... 프록시 패턴은 목적에 따라 여러가지 패턴의 양상을 띈다. 이번 포스팅에서는 원격 프록시에 대해 알아보도록 하고, 전반적인 프록시 패턴의 개념은 아래 포스팅을 참고하면 된다. https://dev-rosiepoise.tistory.com/80 [Proxy Pattern] 프록시 패턴이란? Goal 프록시 패턴이란 무엇인지 알아보고 이해한다 프록시 패턴의 다이어그램 프록시 패턴 (Proxy Pattern) 특정 객체로의 접근을 제어하는 대리인(특정 객체를 대변하는 객체)를 제공한다. 실제 객 dev-rosiepoise.tistory.com Goal 원격 프록시에 대해 알아보고 이해한다 RMI에 대해 알아본다 원격 프록시 샘플 코드를 통해 원격 프록시를 이해한다 프록시 패턴 (Proxy P..
Goa 프록시 패턴이란 무엇인지 알아보고 이해한다 프록시 패턴의 다이어그램 프록시 패턴 (Proxy Pattern) 특정 객체로의 접근을 제어하는 대리인(특정 객체를 대변하는 객체)를 제공한다. 실제 객체의 메서드를 호출하면 그 호출을 중간에 가로채느 패턴이다. 프록시 패턴에는 수많은 변종이 있고, 그리고 그러한 변종들은 대게 접근을 제어하는 방법을 다르게 제어한다. 왜 프록시 패턴을 사용하는가? 1. 원격 객체, 2. 생성하기 힘든 객체, 3.보안이 중요한 객체와 같은 다른 객체로의 접근을 제어하는 대리인 객체를 만들 수 있기 때문 프록시 패턴 사용 시 장점 객체에 대한 보안을 제공한다. 일반적으로 클라이언트는 객체에 직접 접근할 수 없다. 이는 객체가 악의적인 활동에 의해 변형될 수 있기 때문이다. ..
시작하기 전 ... 싱글턴을 생성하는 방법 중 Eager Initialization의 단점은 인스턴스를 미리 생성하기 때문에, 사용하지 않을 경우 메모리 점유로 인한 자원낭비가 된다였다. 여기서 나의 의문의 시작되는데,,,, 더보기 .. https://dev-rosiepoise.tistory.com/75 [Singleton Pattern] 싱글톤 패턴 생성하기 Goal Singleton이 무엇인지 이해한다 Singleton을 생성하는 방법에 대해 알아보고 이해한다 Singleton Pattern 싱글턴 패턴이란 인스턴스를 하나만 만들어 사용하기 위한 패턴이다. 프로그램 시작부터 종료 dev-rosiepoise.tistory.com 멘토님은 클래스 로딩 동작과정을 이해할 필요가 있다고 말씀해주셨고, 좀 더..
Goal 디자인 패턴이란 무엇인지 알아보고 이해한다 디자인 패턴에 필요한 도구들과 그 종류들을 알아본다 디자인 패턴 프로그램을 작성하다 보면 비슷 비슷한 상황이 직면하게 되는 경우가 많은데, 그러한 상황에서 개발자들이 고민을 정제한 사실 상의 표준 설계패턴이다. 디자인 패턴은 객체 지향의 특성 중 상속(extends), 인터페이스(interface/implements), 합성(객체를 속성으로 사용)을 이용한다. 왜 디자인 패턴을 사용해야 할까? 개발자 사이에서 서로 이해할 수 있는 용어를 제공하고, 빠르고 정확한 파악이 가능하여 의사소통이 쉽다 객체 수준에서의 생각이 아닌 패턴 수준에서 생각할 수 있기에 아키텍쳐를 생각하는 수준이 올라간다 디자인 도구상자 안에 들어가야 할 도구들 1. 객체지향의 기초 캡..
Goal 객체지향 설계의 5원칙이 무엇인지 이해한다. 객체지향 설계 5 원칙 - SOLID 객체 지향 설계의 정수라고 할 수 있는 5원칙이 있는데, 바로 SOLID다. 응집도는 높이고, 결합도는 낮추라는 고전 원칙을 객체 지향의 관점에서 재정립한 것이라고 할 수 있다. SRP - Single Responsibility Principle 단일 책임 원칙 OCP - Open Closed Principle 개방 폐쇄 원칙 LSP - Liscov Subsititution Principle 리스코프 치환 원칙 ISP - Interface Segregation Principle 인터페이스 분리 법칙 DIP - Dependency Inversion Principle 의존 역전 원칙 왜 객체지향 설계 5원칙을 사용해야..
객체지향의 4대 특성 - 캡!상추다 캡슐화 (Encapsultation): 정보 은닉(information hiding) 상속 (Inheriance) 재사용 추상화 (Abstaction) : 모델링 다형성 (Polymorphism) : 사용 편의 클래스 vs. 객체 = 붕어빵틀 vs.붕어빵? 금형기계 붕어빵틀 = new 금형기계(); 붕어빵틀은 붕어빵을 만드는 팩터리 클래스와 객체를 구분하는 간단한 방법 - 나이 물어보기 사람의 나이는 몇살인가 -> 클래스 김연아의 나이는 몇살인가 -> 객체 뽀로로의 나이는 몇살인가 -> 객체 펭귄의 나이는 몇살인가 -> 클래스 클래스는 분류에 대한 개념이지 실체가 아니다! 클래스 : 객체 = 펭귄 : 뽀로로 = 사람: 김연아 추상화 : 모델링 여러가지 사물이나 개념에서..
Goal stream에 대해 알아본다 stream의 구조와 연산 종류에 대해 알아본다 stream의 특징에 대해 알아본다 stream 이란? 연속되 정보를 처리하는데 사용된다. 즉, 컬렉션, 배열 등의 데이터 요소를 처리하는 기능을 제공한다. 배열에는 스트림을 사용할 수 없지만 배열을 컬렉션의 List로 변환하는 방법이 존재한다. 배열 to 컬렉션의 List Integer[] values = {1,3,5}; List list = new ArrayList(Arrays.asList(values)); List list = Arrays.stream(values).collect(Collectors.toList()); stream 구조 list.stream().filter(x-> x>10).count() 1. 스트..