Programming2009.03.08 16:22
오랫만에 UML을 끄적여 보다보니... 기본 모델링도 너무 모르고 하는거 같아서...;

책을 참고하여 간단하게 정리해보았다.

기본 클래스를 나타내는 모양이다. 박스안에 3개의 공간으로 구분되어 있는데

첫 번째는 클래스 이름이다.
두 번재는 멤버변수 이다. (+ : public, - : private, # : protected)
세 번째는 메소드 이다. (+ : public, - : private, # : protected)





두개의 클래스를 연결하는 화살표는 연관을 나타내는 표시이다.
이게 많이 헷갈린다;;;

A안에 iA라는 변수이름으로 B인스턴스를 15개 가지고 있다는 표시이다.
즉 iA[15] 라는 변수안에 모두 B인스턴스가 있다는 것이다.
* 표시는 0개에서 무한개 이다. 자바에서 쓰이는 Vector, List가 여기에 해당한다고 한다.



상속을 나타내는 모양이다.
화살표 방향이 항상 헷갈리는것 중에 하나이다. 특히 연관쪽에서..;;

화살표는 상위클래스를 향하도록 한다.
그리는거에 따라서 화살표는 직선으로도 그릴수있고 그림과 같이 꺽은선으로도
그릴수 있다. 편한데로 하자 ㅋ

연관과 상속과의 혼동을 없애기 위해 보통 상속은 상하로 나타낸다고 한다.




추상클래스는 이탤릭체로 표현하고 인터페이스는 `<<interface>이름` 으로 표현한다.





<<create>> - A클래스가 B의 인스턴스를 생성하고 리턴한다. Factory 이다.
<<local>> - A클래스가 B의 인스턴스를 생성하고 그 지역(local)에서만 사용하는 것이다.
<<parameter>> - A클래스의 메소드가 호출될때 B의 인스턴스가 인자로 호출되는 것이다.
<<delegate>> - A의 메소드가 호출될때 B의 메소드가 호출되는 것이다. A가 B의 메소드를 대신 호출해주는것이다.

Posted by 초프(초보 프로그래머)
TAG UML, 모델링
중대 컴공2009.03.06 23:25


기존에 만들었던 것을 수정하였음.

1. 학번, 이름 출력
2. 입력값 범위 검사
3. 같은 문자 출력부분을 함수화 (printChar)
4. 마지막 결과 확인을 위해 잠시 멈추게 하는 부분을 함수화 (pause)


잉크를 아끼기 위해 배경을 흰색으로 하였음.
Posted by 초프(초보 프로그래머)
Programming/C,C++2009.03.06 22:52
비주얼 스튜디오 2005 이상을 사용할때

scanf 같은 함수를 사용할때 지정된 범위의 메모리 영역을 오버해서 위험하다 어쩌다 뭐 그런 내용이라는...

무시하고 그냥 scanf를 써도 되고

아니면 scanf_s 함수를 사용해도 된다고 한다.

[MSDN]
int scanf_s(const char *format [,argument]...);

[Example]
scanf_s("%d %d", &kor, &eng);


Posted by 초프(초보 프로그래머)
Programming2009.03.06 21:49

이게 맞는지 모르겠지만 -_-;

오른쪽에 현재의 값보다 모두 작은 수인 것만을 뽑아낸것이 RDE 인가 그런가 보다 -_-;



10,9,5 는 오른쪽에 13 이 있으므로 RDE가 안되고

13 은 오른쪽에 모두 13 보다 작은 값이므로 RDE 이다.

2,7,1 은 8 때문에 RDE가 안된다.

8 은 오른쪽에 모두 8 보다 작으므로 RDE 이다.

4 는 6 때문에 안되고 6,3은 RDE 이다.

과제는 아니지만.. 그냥 해봤음;;
Posted by 초프(초보 프로그래머)
Programming/JAVA2009.03.05 02:14
키보드로 입력받는 방법이다.

System.in.read(); 이걸로 가능할줄 알았다.. 이건 한문자 밖에 안되더라;;;;

이걸 프로그램 다 완성하고 알았다...;;

그래서 찾은것이 다음과 같이 버퍼, 스트림 객체를 사용하는것이다.

String data = null;
BufferedReader inBuff = new BufferedReader(new InputStreamReader(System.in));
data = inBuff.readLine();


이렇게 읽으면 결과가 data안에 문자열로 저장된다.

문자열로 쓰고싶으면 그대로 쓰면되고...

숫자로 쓰고싶으면

data = Integer.parseInt(inBuff.readLine());

이렇게 바꿔주면 된다.

어떻게 동작되는지도 모르고 막 썼다 -_-;

자세한건 다음에.... ㅋㅋㅋ
Posted by 초프(초보 프로그래머)