java(31)
-
[JAVA] 클래스(class) / 객체(object)
클래스 / 객체 클래스란? 어떤 특정 종류의 모든 객체들에 대해 일반적으로 적용할 수 있는 변수와 메소드를 정의하고 있는 소프트웨어적인 설계도(blueprint) 또는 프로토타입(prototype)실 세계에 존재하는 객체가 가질 수 있는 상태와 행동들에 대해 소프트웨어적으로 추상화 한 것 객체란? 사전적 정의 : '실제로 존재하는 것'우리 주변에 흔히 볼 수 있는 사물들 '컴퓨터', '휴대폰', '책상', '의자' 등소프트웨어적 정의 : 클래스를 실제 사용할 수 있도록 변수 선언한 것을 인스턴스라하며, 이 인스턴스를 객체라 할 수 있다. 객체는 높은 모듈성과 정보은닉의 장점을 제공한다. 작성형식 위에 사진은 클래스에 대하여 조금 더 쉽게 다가가기 위한 사진으로 동일한 틀(클래스)을 가지고 붕어빵, 토스트..
2016.11.23 -
[디자인패턴] 데코레이터 패턴(Decorator pattern)
데코레이터 패턴(Decorator pattern) 주어진 상황 및 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴기능 확장이 필요할 때 서브클래싱 대신 쓸 수 있는 유연한 대안이 될 수 있다 작성형식 내용 특징데코레이터의 부모클래스는 자신이 장식하고 있는 객체의 부모클래스와 같으며, 한 객체를 여러 개의 데코레이터로 감쌀 수 있다. 데코레이터는 자신이 감싸고 있는 객체와 같은 부모클래스를 가지고 있기 때문에 원래 객체가 들어갈 자리에 데코레이터 객체를 집어넣어도 상관 없다. 데코레이터는 자신이 장식하고 있는 객체에게 어떤 행동을 위임하는 것 외에 원하는 추가적인 작업을 수행할 수 있고 객체는 언제든지 감쌀 수 있기 때문에 실행에 필요한 데코레이터를 마음대로 적용할 수 있다.[펌]http://skmagic...
2016.11.21 -
[디자인패턴] 컴포짓패턴(Composite pattern)
컴포짓패턴(Composite pattern) 개별 객체와 복합 객체를 코드 상에서 별도로 구분하지 않고 추상화한 인터페이스를 구성하고 동일하게 다룰 수 있도록 한 패턴 작성형식 내용 Component컴포넌트 자신을 포함한 모든 컴포넌트에 대한 추상화이다.구성(composition)에 있는 객체들의 인터페이스를 정의한다.(선택적으로) component의 부모에 대한 접근하기 위한 재귀적인 구조(recursive structure)의 인터페이스를 정의하고, 적절하다면 구현한다.Leaf구성(composition)에 있는 leaf 객체들을 표현한다.component의 모든 메서드를 구현한다.Compositecomposite 컴포넌트를 표현한다.(자식들을 가지는 컴포넌트)자식들을 다루기 위한 메서드를 구현한다.모..
2016.11.19 -
[디자인패턴] 브릿지패턴(Bridge pattern)
브릿지패턴(Bridge pattern) 구현부에서 추상층을 분리하여 각자 독립적으로 변형할 수 있게하는 작성형식 내용 브릿지패턴은 기능 클래스 계층과 구현 클래스 계층을 분리한 것입니다.각 클래스 간의 구조의 초점을 맞춘 형태라고 보면 좋을것 같다. [펌] 헤드퍼스트 내용 정리장점* 구현을 인터페이스에 완전히 결합시키지 않았기 때문에 구현과 추상화된 부분을 분리시킬 수 있다. * 추상화된 부분과 실제 구현 부분을 독립적으로 확장 할 수 있다. * 추상화된 부분을 구현한 구상 클래스를 바꿔도 클라이언트 쪽에는 영향을 끼치지 않는다.사용법 및 단점* 여러 플랫폼에서 사용해야 할 그래픽스 및 윈도우 처리 시스템에서 유용하게 쓰인다. * 인터페이스와 실제 구현부를 서로 다른 방식으로 변경해야 하는 경우에 유용하..
2016.11.19 -
[디자인패턴] 추상팩토리패턴(Abstract Factory pattern)
추상팩토리패턴(Abstract Factory pattern) 객체를 생성할 때 객체를 구성하는 부분을 추상화하여 여러 서브클래스가 상속을 통해 구현하여 구성하는 부분을 동일하게 유지하는 방법객체를 구성하는 클래스가 있을 때 생성 공정을 동일하고 구현 내용이 다를 때 메서드를 추상화하여 사용하는 것 작성형식 [출처] http://jinsprogramming.wikispaces.com/Abstract+factory+pattern?showComments=1 Product 관련 코드 public abstract class Product { public abstract String getName(); public abstract int getPrice(); @Override public String toStrin..
2016.11.17 -
[디자인패턴] 빌더패턴(Builder pattern)
빌더패턴(Builder pattern) Builder 패턴의 의도는 복잡한 객체의 생성을 표현으로 부터 분리시키는 것 작성형식 Builder - 객체(제품)를 생성하는 추상 인터페이스 Concrete Builder - Builder의 구현 클래스. 다른 객체를 생성할 수 있도록 하는 구체적인 클래스. 객체를 만들기 위해 부분(부품)을 생성하고 조립한다.Director - Director클래스는 객체 생성의 정확한 순서(sequenct)를 다루는 부분에 책임이 있다. 이 클래스는 ConcreteBuilder를 인자로 받아서 필요한 동작을 수행한다.Product - Builder를 이용해서 Director가 만들어낸 최종 객체 /** "Product" */ class Pizza { private String..
2016.11.17