본문 바로가기

개인적으로 공부한 것을 정리해 놓은 블로그입니다 틀린 것이 있으면 댓글 부탁 드립니다!


반응형

객체지향 OOP

(4)
객체지향 이란? 4 - POJO POJO (Plain Old Java Object)란? 순수한 자바 오브젝트를 뜻한다 POJO의 특징 1.특정 규약에 종속 되지 않는다 . 특정 Library, Module 에서 정의된 클래스를 상속 받아서 구현하지 않아도 된다. POJO가 되기 위해서는 외부의 의존성을 두지 않고 , 순사한 JAVA 로 구성이 가능해야 한다. 2.특정 환경에 종속되지 않는다. 만일 특정 비지니스 로직을 처리 하는 부분에 외부 종속적인 http request , session 등 POJO 를 위배한 것으로 간주 한다 . 또한 많이 사용하고는 있지만 @Annotation 기반으로 설정하는 부분도 엄연히는 POJO 라고 볼 수 없다. 하나의 서비스를 개발하기 위해서는 , 시스템의 복잡함(네트워크 통신 , 데이터베이스 트랜젝션..
객체지향 이란? 3 - 객체지향 설계 5원칙 SOLID 응집도와 결합도 좋은 소프트웨어 설계를 위해서는 결합도 (coupling)은 낮추고 응집도(cohesion)은 높여야 한다. 결합도 모듈(클래스) 간의 상호 의존 정도를 나타내는 지표로 결합도가 낮으면 모듈간의 상호 의존성이 줄어 객체의 재사용 및 유지 보수가 유리하다 . 응집도 하나의 모듈 내부에 존재하는 구성 요소들의 기능적 관련성으로 응집도가 높은 모듈은 하나의 책임에 집중하고 독립성이 높아져 ,재사용 및 유지보수가 용이하다. 1, SPR(Single Responsibility Priciple) 단일 책임 원칙 어떠한 클래스는 변경해야 하는 이유는 한가지 뿐 이여야 한다. 각각의 클래스는 자신의 기능에 책임을 집중한다 . 2.OCP(Open Closed Principle) 개방 폐쇄 원칙 자신의 확..
객체지향 이란 ? 2 - 객체지향의 4가지 특성 1. 캡슐화 캡슐화는 객체의 속성(Variable)을 보호하기 위해서 사용 된다. 객체의 캡슐화는 현실 세계에서도 볼 수 있다. 컴퓨터 본체 안에 수 많은 부품이 있지만 ,전원을 켜기 위해서는 메인보드에 전기 신호를 직접 주는 것이 아닌, 외부 케이스에 있는 전원 버튼을 통해서 상태 속성을 On/Off 하도록 변경 한다. Method 설계 - 속성이 선언되었으나 , 이의 상태를 변경하는 Method 가 없다면 ,잘못 선언된 속성이다. 즉 , 자신이 가지고 있는 속성에 대해서는 해당 상태를 변경하는 기능을 제공해야 한다. - 실물 객체가 가진 기능을 모두 제공해야 한다. 예를들면 자동차의 렌탈, 반납, 주행거리 계산등 - 각각의 Method는 서로 관련성이 있어야 한다. 차량의 렌탈. 반납, 자동차 등록증..
객체지향이란? 1. 객체지향의 등장 1970년대에 들어서 용어가 나왔다. 이전에는 c언어 처럼 실행하고자 하는 순서대로 명령어를 입력해서 실행되는 "절차 지향"이 주를 이뤘다, 이러한 방법으로 코딩 하는 언어들을 "절차지향 언어" 라고 한다. 이 때에는 프로그램의 단위가 크지 않았으며 , 대체적으로 간단한 Logic을 순차적으로 처리하여 결과를 얻는데 그쳤지만, 점점 컴퓨터의 발전과 이로 인하여 프로그램의 복잡도가 증가하며 이에 들어가는 유지보수 , 개발기간 등 다양한 부분에서 비 효율이 발생 했다. 이런 어려움을 해결하기 위해 선택한 방법이 " 효과적인 개발방식" 을 채택하게 되었고, 이는 이전에 사용하던 흐름에 따른 개발 방식에서 벗어나, 객체지향의 특성인 추상화 ,상속, 정보 은닉 ,재사용 , 인터페이스 등 여러..

반응형