개발자의 오르막

SW 심화과정 D-5 본문

카테고리 없음

SW 심화과정 D-5

계단 2019. 7. 20. 11:14

# List 컬렉션에 String 값들을 저장해서 json 형태로 출력하라

 

 

- 하나도 없을 때에는 "[]" 모양이 나와야 함.
- apple만 있을 때에는 "['apple']"
- apple, banana "['apple', 'banana']"  ...
- collectionString 은 static

 

# 랜덤으로 출력

 

 

# commandPattern 과 Annotation 비교

 

* 1번

- command pattern

  하나의 인스턴스에 특정 함수들을 순서대로 호출하여 동작시키는 패턴

- 이 특정 함수들을 클래스로 생성하여 동작한다.

- 인터페이스로 정의한 ICalcexecute 함수를 호출하면 하나의 인스턴스
   로 다른 클래스들을 호출할 수 있다.

- 이후 PrintStars 라는 빈 인터페이스를 정의하고,

- command pattern 객체 중 사용하고자 하는 함수에 PrintStars
   implements를 한다.

- 이후 instaneceof를 통해 비교할 때, PrintStars를 상속받는 클래스들만
   선택적으로 특정 조건을 실행시킬 수 있다.

 

*2번

- 1번에서 commandPattern에서 기본적으로 동작하는 객체는 건들지 않
  은 채, 선택적으로 사용하고자 하는 클래스를 선택한 기능을
  사용하기 쉽게 구현한 것이 어노테이션 개념이다.

 

 

- PrintStars@interface 로 정의함으로써, 어노테이션 기능을 입히고자
   하는 부분을 일일이 implements 할 수고를 덜어준다. (같은 패키지 내)

 

 

- 클래스가 아닌 변수 및 함수에 선택적으로 어노테이션을 붙임으로써
  활용도를 증가시켰다.

 

 

- 1번에서 PrintStars를 상속받는 클래스를 조사할 때 instanceof를 활용한
  부분처럼 어노테이션에서는 mtd.getAnnotation(PrintStars.class)를 통해
  어노테이션 된 부분들을 조사하여 선택적으로 특정 조건을 실행한다.

Comments