본문 바로가기

전체 글

(93)
2. 싱글톤 패턴 싱글톤(Singleton) 패턴 어떠한 클래스(객체)가 유일하게 1개만 존재 할 때 사용한다. 주로 사용하는 곳은 서로 자원을 공유 할 때 사용하는데, 실물 세계에서는 프린터가 해당, 실제 프로그래밍에서는 TCP Socket통신에서 서버와 연결된 connect 객체에 주로 사용한다. 코드 실습) public class Aclass { private SocketClient socketClient; public Aclass(){ this.socketClient = SocketClient.getInstance(); } public SocketClient getSocketClient(){ return this.socketClient; } } public class Bclazz { private SocketCli..
1. 디자인 패턴 디자인 패턴이란? 자주 사용하는 설계 패턴을 정형화 해서 이를 유형별로 가장 최적의 방법으로 개발을 할 수 있도록 정해둔 설계 알고리즘과 유사 하지만, 명확하게 정답이 있는 형태는 아니며, 프로젝트의 상황에 맞추어 적용. Gof 디자인 패턴 소프트웨어를 설계 할 때는 기존에 경험이 매우 중요하다. 이러한 지식을 공유하기 위해서 나온 것이 GOF(Gang of Four)의 디자인 패턴이다. 객체지향 개념에 따른 설계 중 재사용할 경우 유용한 설계를 디자인 패턴으로 정리 해둔 것이다. Gof의 디자인 패턴은 총 23개이다. 디자인 패턴의 장점 1. 개발자 간의 원활한 소통 2. 소프트웨어 구조 파악 용이 3. 재사용을 통한 개발 시간 단축 4. 설계 변경 요청에 대한 유연한 대처 디자인 패턴의 단점 1. 객..
POJO JAVA POJO(Plain Old Java Object) 순수한 자바 오브젝트를 의미 Module 교체, 시스템 업그레이드시 종속성으로 인하여 불편함이 발생하여 발생함. 특징 1. 특정 규약에 종속 되지 않는다. 외부의 의존성을 두지 않고, 순수한 JAVA로 구성이 가능해야 한다. 2. 특정 환경에 종속되지 않는다. 비즈니스 로직을 처리 하는 부분에 외부 종속적인 http request, session 등 POJO를 위배한 것으로 간주 한다. POJO Framework 1. Spring, Hibernate 하나의 서비스를 개발하기 위해서는, 시스템의 복잡함, 비즈니스 로직의 복잡함 등 다양한 어려움을 맞이하게 된다. 위의 두 프레임워크는 객체지향적인 설계를 하고 있으며, POJO를 지향하고 있다. if/else..
객체지향 4가지 핵심요소와 설계 5원칙(객체지향설계 SOLID) [1]. 캡슐화 목적: 객체의 속성을 보호하기 위해서 사용. Method 설계 장점: 1.객체지향의 패러다임 중 하나인 추상화를 제공 단순 호출만으로 해당 기능을 실행 할 수 있고, 이를 통해서 객체 단위로 프로그램 설계가 가능. 2. 재 사용성 향상 한 객체에 관련된 속성 및 Method는 모두 캡슐화의 형태로 제공됨으로, 객체의 모듈성과 응집도가 높아진다. 이를 통하여 재사용성이 높아진다. 절차적 프로그래밍에서 Method를 재사용한다면, 함수가 참조하고 있는 전역변수 및 내부에서 호출하는 Method가 미치는 영향을 모두 신경써야하나 객체의 경우는 단일 객체에만 영향을 주기에 재 사용성이 높다. 3. 유지보수의 효율성이 향상 된다. 무결성 보통의 캡슐화 코딩이라고 하면 주로 변수는 private으로..
객체지향 용어및 정의 기초 정리 사물 = 객체 행위 = 매서드 속성 = 변수 객체 == 사물 == Object 객체의 3가지 요소 1. 상태 유지(객체의 상태) 객체는 상태 정보를 저장, 유지해야 한다. 이러한 속성은 변수로 정의 속성값이 바뀜으로 인하여 객체의 상태가 변경 될 수 있어야 한다. 2. 기능 제공(객체의 책임) 객체는 기능을 제공한다. 이 부분은 Method의 제공으로 이루어짐. 이 부분은 캡슐화와 연관이 있으며 외부로 부터 직접 속성에 접근하여 변경 하는 것이 아닌 객체가 제공하는 Method로 기능이 제공되어져야 한다. 3. 고유 식별자 제공(객체의 유일성) 각각의 객체는 고유한 식별자를 가져야 한다. DB에서 Unique key나 Primary key로도 작성이 가능 물리 객체와 개념 객체 물리 객체 실제..