전체 글

하면 하는거지 모! 또 다시 하면되지 모! 그냥 하는거지 모!
시작하기 전 ... 프록시 패턴은 목적에 따라 여러가지 패턴의 양상을 띈다. 이번 포스팅에서는 가상 프록시에 대해 알아보도록 하고, 전반적인 프록시 패턴의 개념은 아래 포스팅을 참고하면 된다. 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 어댑터 패턴이란 무엇인지 알아보고 이해한다 어댑터 패턴을 사용한 코드를 이해한다 객체 어댑터와 클래스 어댑터를 이해한다 어댑터 패턴 (Adapter Pattern) 특정 클래스 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환한다. 인터페이스가 호환되지 않아 같이 쓸 수 없었던 클래스를 사용할 수 있다. => 어댑터는 한 객체의 인터페이스를 구현하고 다른 객체를 매핑한다. 언제 어댑터 패턴을 사용해야 할까? 새로운 클래스의 인터페이스가 기존 코드를 만들 때 사용했던 인터페이스와 다를 때 사용한다. 적용 예시 기존의 코드 Duck 인터페이스와 그를 확장한 MaralldDuck가 있다고 하자 public interface Duck { public void quack(); public voi..
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원칙을 사용해야..
Goal Singleton이 무엇인지 이해한다 Singleton을 생성하는 방법에 대해 알아보고 이해한다 Singleton Pattern 싱글턴 패턴이란 인스턴스를 하나만 만들어 사용하기 위한 패턴이다. 프로그램 시작부터 종료 시까지 어떤 클래스의 인스턴스가 메모리 상에 단 하나만 존재할 수 있게 하고 이 인스턴스에 대해 어디에서나 접근할 수 있도록 하는 패턴이다. 왜 싱글턴 패턴을 사용할까? 예로, 로깅을 찍는 객체, 커넥션 풀, 스레드 풀, 디바이스 설정 객체 등과 같은 인스턴스를 여러개 만들게 되면 불필요한 자원을 사용하게 되며 또 프로그램이 예상치 못한 결과를 낳을 수 있다. 결과에 일관성이 없어질 가능성이 있다 한정된 리소스에서 메모리를 사용할 때 사용한다 => 메모리를 많이 사용하면 안될 때 ..
abstract 키워드 - 추상 메서드와 추상 클래스 추상 메서드란 선언부는 있지만 구현부가 없는 메서드를 말한다. 추상 메서드를 하나라도 갖고 있는 클래스는 반드시 추상 클래스여야 한다. public class Driver2 { public static void main(String[] args){ Animal[] animals = new Animal[5]; animals[0] = new Dog(); animals[1] = new Cat(); animals[2] = new Cow(); animals[3] = new Bird(); animals[4] = new Dolphin(); for(int i=0; i new 사용 불가 추상 클래스는 하위 클래스에게 메서드의 구현을 강제한다. 오버라이딩 강제 추상 메..
객체지향의 4대 특성 - 캡!상추다 캡슐화 (Encapsultation): 정보 은닉(information hiding) 상속 (Inheriance) 재사용 추상화 (Abstaction) : 모델링 다형성 (Polymorphism) : 사용 편의 클래스 vs. 객체 = 붕어빵틀 vs.붕어빵? 금형기계 붕어빵틀 = new 금형기계(); 붕어빵틀은 붕어빵을 만드는 팩터리 클래스와 객체를 구분하는 간단한 방법 - 나이 물어보기 사람의 나이는 몇살인가 -> 클래스 김연아의 나이는 몇살인가 -> 객체 뽀로로의 나이는 몇살인가 -> 객체 펭귄의 나이는 몇살인가 -> 클래스 클래스는 분류에 대한 개념이지 실체가 아니다! 클래스 : 객체 = 펭귄 : 뽀로로 = 사람: 김연아 추상화 : 모델링 여러가지 사물이나 개념에서..
dev_rosieposie
로지포지의 성장 연대기