Computer Science
1.3.2.2 관계(일반화 관계)
JAVA 객체지향 디자인 패턴 정리 2. 일반화 관계 한 클래스가 다른 클래스를 포함하는 상위 개념일 때 두 클래스 사이에는 일반화 관계가 존재한다. 객체 지향 개념에서는 일반화 관계를 상속 관계("is a kind of" 관계)라고 한다. 부모 클래스 추상적인 개념 (실제로 존재하지 않는다.) 삼각형 표기사 있는 쪽 가전 제품 자식 클래스 구체적인 개념 삼각형 표시가 없는 쪽 세탁기, TV, 식기 세척기 '세탁기'is a kind of '가전제품' 'TV' is a kind of '가전 제품' '식기 세척기' is a kind of '가전 제품' 부모 클래스는 자식 클래스의에게 공통 속성이나 연산을 제공하는 틀이다. 추상 클래스 추상 메소드를 하나 이상 가지는 클래스 추상 메소드 부모 클래스에서 구현되..
1.3.2.1 관계(연관 관계)
JAVA 객체지향 디자인 패턴 정리 UML에서 제공하는 클래스들 사이의 관계 1. 연관 관계 가령 "교수 (Professor 클래스)가 학생 (Student 클래스)을 상담한다."라는 사실은 밑의 그림처럼 나타낸다. 한 클래스가 다른 클래스와 연관 관계를 가지면 각 클래스의 객체는 해당 연관 관계에서 어떤 역할을 수행하게 된다. 두 클래스 사이의 연관 관계가 명확한 경우에는 연관 관계 이름을 사용하지 않아도 된다. 역할 이름은 실제 프로그램을 구현할 때 연관된 클래스의 객체들이 서로를 참조할 수 있는 속성의 이름으로 활용할 수 있다. 연관 관계는 방향성을 가질 수 있다. 양방향은 실선, 단방향은 화살표로 표시한다. 화살표 단방향 연관 관계 한 쪽은 알지만 다른 쪽은 상대방의 존재를 모른다. 사람(Pers..
1.3 클래스 다이어그램
JAVA 객체지향 디자인 패턴 정리 클래스 다이어그램은 시간에 따라 변하지 않는 시스템의 정적인 면을 보여주는 UML 구조 다이어그램이다. 클래스 다이어그램은 시스템을 구성하는 클래스와 그들 사이의 관계를 보여준다. 클래스 다이어그램 = 클래스 + 관계 1.3.1 클래스 클래스(Class)란 동일한 속성과 행위를 수행하는 객체의 집합 객체를 생성하는 설계도 즉, 클래스는 공통의 속성과 책임을 갖는 객체들의 집합이자 실체 객체를 생성하는 설계도이다. 클래스는 "변화의 기본 단위" 디자인 패턴을 제대로 이해하려면 만들어진 프로그램을 흔들어보고 어떤 것이 변화되는지를 잘 살펴봐야 한다. UML 클래스 표현 가장 윗부분 : 클래스 이름 중간 부분 : 속성(클래스의 특징) 마지막 부분 : 연산(클래스가 수행하는 ..
1.2 UML
JAVA 객체지향 디자인 패턴 정리 모델링(Modeling)을 하려면 시스템을 모델로 표현해주는 언어가 필요하다. 이에 대표적인 모델링 언어로 UML( Unified Modeling Language )이 있다. UML은 요구 분석, 시스템 설계, 시스템 구현 등의 시스템 개발 과정에서 개발자 사이의 의사 소통이 원활하게 이루어지도록 표준화한 통합 모델링 언어다. ▲ UML 다이어그램의 종류 현재 UML 2.0에서는 시스템의 구조(structure)와 동작(behavior)을 표현하는 13갸의 다이어그램을 제공하며, 다양한 과점에서 시스템을 모델링할 수 있다. (ex. 건축 설계 도면)
1.1 모델링
JAVA 객체지향 디자인 패턴 정리 모델의 역할 서로의 해석을 공유해 합의를 이루거나 해석의 타당성을 검토한다. 현재 시스템 또는 앞으로 개발할 시스템의 원하는 모습을 가시화한다. 시스템의 구조와 행위를 명세할 수 있으며 시스템을 구축하는 틀과 구축된 SW의 문서화 기능을 제공한다. 모델은 추상화(abstraction)에 바탕을 두고 만들어진다. 추상화는 대상을 표현할 때 특정 관점에서 관련이 있는 점은 부각시키고 관련이 없는 면은 무시하는 작업이 필요하다. 각 개체의 구체적인 개념에 의존하지 말고 추상적 개념에 의존해야 설계를 유연하게 변경할 수 있다.