JAVA/OOP

JAVA/OOP

객체지향 디자인 패턴

객체지향 프로젝트를 설계하는데 자주 쓰이는 구조인 디자인 패턴 몇 가지를 살펴보도록 하겠다. 딱딱하게 외우기보다는, 디자인 패턴의 구현 과정을 따라가며 패턴 이름과 연관성을 따져가며 이미지화 하는 것이 좋을듯! 1. 싱글톤 패턴 (Singleton Pattern) 인스턴스를 하나만 만들어서 쓰는 패턴. 인스턴스를 한 개만 만들면 되는 DB 커넥션, 로그 기록, configuration 등의 클래스가 싱글톤 패턴으로 만들어진다. 불필요한 메모리 낭비를 줄이고, 전역 변수를 넣어 여러 인스턴스들이 값을 공유하게 할 수도 있다. 클래스 속성 값으로 해당 클래스 타입의 static 속성값 하나를 둔다. 생성자는 private으로 두어 클래스 외부에서 인스턴스를 만들 수 없게 한다. static getInstan..

JAVA/OOP

객체지향 설계 5원칙 : SOLID

 프로그램을 설계할 땐 모듈 간 결합도는 낮추고, 모듈 내 응집도를 높여야 한다는 원칙이 있다. 모듈 간의 상호 의존성을 낮춰 한 부분이 조금 변한다고 해서 전체 시스템이 망가지지 않게 해야하고, 연관성이 있는 요소들을 하나의 모듈로 집중시켜 재사용 및 유지보수성을 높이는 것이다. 객체지향적 관점으로 위 원칙을 지키기 위해 나온 개념이 객체지향 설계 5원칙, SOLID이다. 1. SRP(단일 책임 원칙) : 하나의 모듈은 하나의 책임만을 갖는다. 나(부추)는 학생이기도, 어머니의 딸이기도, 누군가의 친구이기도 하다. 각각의 사회적 역할에서 나(사람)의 행위를 Person 객체에 정의해보았다. public class Person { public void study() { System.out.println..

JAVA/OOP

객체 지향의 4대 특성 (캡!상추다)

객체 지향은 프로그램에 현실 세계를 조금 더 많이 반영한 프로그래밍 패러다임이다. 현실 세계에서 특정 종류의 물건들을 분류하고, 그에 맞는 속성과 행위들을 규정하고 인지하듯 프로그래밍 세계에서도 일정한 class를 만들고 그에 맞는 property와 method들을 설정하고 이용하는 것이다. 특정 클래스에 맞는 하나의 instance, 즉 object 단위로 프로그래밍이 가능하여 더욱 직관적인 프로덕트 설계를 할 수 있도록 한다. 객체 지향엔 크게 4가지 특성이 있다. 개체들을 분류하여 객체를 설정하고, 그 인스턴스를 만들어 제품을 설계할 때 프로그램이 갖게되는 특징들이다. 설계 과정에서 사용되는 특징부터 bottom-up 방식으로 작성해보도록 하겠다! 1. 추상화 (Abstraction) : 애플리케이..

김부추
'JAVA/OOP' 카테고리의 글 목록