많은 프로그래머들이 클래스 관계 및 설계에 대해서 명확히 이해하지 않고 손가는데로 프로그램을 만들다가 나중에 유지보수에 어려움을 겪는다.(본인도 예외가 아님) 이러한 문제를 극복하는 취지에서 이번 학습이 필요하다고 생각한다. 물론 Flex의 경우 Flex자체의 내부구조를 이해하고 효율적인 사용이 필요하다. 이 부분은 따로 학습해야할 것이다.


[공부할 것]

클래스들 간에 관계설정

출처:http://cafe.naver.com/javasolution/26


윤훈남의 Flex강의중 10.객체지향프로그래밍-클래스 다이어그램 : http://muticd.com/lec/director/viewBody.php?t_Name=Lec_drbook2


[숙제]

1. 클래스의 관계에서 is a, use a, has a 에 대해서 예시와 함께 설명하라.(예시는 3가지 이상)


2. UML에서 클래스 관계

2.1 "의존관계"의 영문, 의미, UML 표기법 설명, AS3 예시

2.2 "연관관계"의 영문, 의미와 2가지 종류에 대한 설명과 UML 표기법 설명, AS3 예시

2.3 "일반화관계"의 영문, 의미와 UML 표기법 설명, AS3 예시

2.3 "실체화관계"의 영문, 의미와 UML 표기법 설명, AS3 예시

2.4 위 관계에 대해 UML을 작성해보자

  (http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=AmaterasUML 에서 다운받에 Flex Builder에 설치하고 다 만든 결과물을 스크린샷해서 붙인다)


3. 합성과 상속

3.1 의미를 설명하고 AS3로 예시를 들어라.

3.2 각각의 장단점을 설명하고 예시를 들어라.


4. 인터페이스

4.1 인터페이스의 의미와 AS3에서 일반적으로 통용되는 인터페이스 명명규칙

4.2 AS3는 다중상속을 할 수 없다. 하지만 인터페이스를 이용하면 다중상속의 문제점을 해소시키면서 클래스를 만들 수 있다. 예를 들어 설명하라.

4.3 인터페이스는 클래스간에 결합도를 줄여준다. 예를들어 설명하라.

4.4 ActionScript 3.0에서 부모SWF에서 자식SWF를 로드하여 자식 SWF안에 있는 클래스를 사용할 수 있다. 인터페이스를 이용하면 부모와 자식간에 클래스 공유의 결합도를 줄여줄 수 있는데 그 예를 들어보자.



5. 추상화 클래스(AS3는 이런 개념이 없지만 충분히 활용할 수 있다.)

5.1 추상화 클래스의 의미.

5.2 추상화 클래스를 사용해야하는 이유

5.3 인터페이스를 이용해서 추상화 클래스를 만들고 이 추상화 클래스를 이용한 구체화된 클래스에 대한 예제를 만들라(AS3, UML)


6. 캡슐화(은닉화)

6.1 캡슐화의 의미

6.2 캡슐화가 적절하게 된 클래스와 아닌 클래스에 대한 예시를 들어라.(Array 활용)


7. 다형성

7.1 다형성의 의미

7.2 다형성의 의미를 대변할 수 있는 예시(코드/UML)를 들어라.


8. 절차지향 방식과 객체지향 방식의 차이점(장,단점 포함)을 설명하라.


답은 언제 달릴까요? ^^

글쓴이: 지돌스타(http://blog.jidolstar.com)

+ Recent posts