본문 바로가기

프로그램46

UML 통합 모델링언어 / 클래스 다이어그램 안녕하세요 이번 글에서는 통합 모델링 언어(Unified Modeling Language)에 대해서 알아보도록 하겠습니다. 통합 모델링 언어의 사전적 개요는 다음과 같습니다. 통합 모델링 언어는 객체 지향 소프트웨어 집약 시스템을 개발할 때 산출물을 명세화, 시각화, 문서화할 때 사용한다.[1] UML은 아래와 같은 사항을 포함하여 시스템의 구조적 청사진을 시각화 하는 표준안을 제공한다: 행위자 (UML) 비즈니스 프로세스 (논리적) 부품 (UML) 행위 (UML) 프로그래밍 언어 구문 데이터베이스 스키마 재사용할 수 있는 소프트웨어 구성 요소[2] UML은 데이터 모델링(개체-관계 다이어그램)과 비즈니스 모델링(업무 흐름), 객체 모델링, 부품 모델링의 최선의 기술을 조합한다. UML은 소프트웨어 개발.. 2017. 10. 11.
자바 Cloneable 사용방법 / 자바 디자인 패턴 - 프로토 타입 패턴 / java design pattern , prototype pattern 안녕하세요 이번 글에서는 Cloneable의 사용방법과 프로토 타입 패턴에 대해서 알아보도록 하겠습니다 먼저 Cloneable의 사용방법과 배경에 대해서 알아보겠습니다 ●Cloneable의 배경 여기 다음과 같은 소스코드가 있습니다 프로그래머는 객체의 주소가 아닌 값들만 복사하고 싶은 상황을 가정해보겠습니다 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 package BackGroundCloneable; public class Background { public static void main(String[] args) { ClassForCopy c1 = new ClassForCopy(0, null, 0, false, 0, 0, 0, 0.. 2017. 9. 29.
자바 함수 / java method 이번 글에서는 자바의 함수에 대해서 알아보도록 하겠습니다 먼저 함수의 개념부터 이야기 해보겠습니다 함수는 기본적으로 입력과 출력이 있습니다 함수라는 도구에 뭔가를 집어 넣으면 출력을 합니다 그림으로 보겠습니다 예를 들어서 덧셈을 해주는 함수를 만들었다고 가정해보겠습니다 숫자 2와 3을 덧셈을 해주는 함수에 집어 넣습니다 그러면 결과 값은 5가 출력됩니다 함수의 구조 return 타입이 void인 return 문이 없는 함수의 예 1 2 3 public void rollingDice() { System.out.println("함수 호출"); } cs 이 함수에서는 함수 이름이 rollingDice입니다. 매개변수의 타입과 이름은 생략되어서 ()로 적었습니다. 함수의 동작은 System.out.println.. 2017. 9. 29.
2차원 배열에 숫자를 차례대로 출력하기 이번 글에서는 2차원 배열에 숫자를 차례대로 출력하는 방법에 대해서 알아보도록 하겠습니다 배열에 관한 예제 입니다 다음 그림과 같이 출력되는 소스코드를 작성해보겠습니다 그림 public class Class1 { public static void main(String[] args) { int[][] arr = new int[5][5];//표와 같이 출력할 5x5배열을 선언한다 int num = 1;//배열에 대입할 첫번째 수 num을 선언하고 초기화한다 for (int i = 0; i < arr.length; i++) {//배열 arr의 행의 길이만큼 반복문이 수행된다 for (int j = 0; j < arr[0].length; j++) {//배열arr[0]의 열의 길이만큼 반복문이 수행된다 arr[i.. 2017. 9. 29.
자바 죽음의 다이아몬드 문제 / java Deadly Diamond of Death 이번 글에서는 자바에서 다중상속이 지원되지 않는 이유와 죽음의 다이아몬드 문제에 대해서 알아보겠습니다 C++와 같은 다른 객체지향 언어들에서는 다중상속을 지원합니다. 그러나 자바는 다중상속을 지원하지 않습니다. 이번 글에서는 자바에서 다중상속을 지원하지 않는 이유에 대해서 알아보도록 하겠습니다 Deadly Diamond of Death(죽음의 다이아몬드) 자바가 다중상속을 지원하지 않는 이유는 다음과 같습니다 다중 상속에 대한 글 프로그래밍 언어란 컴퓨터에게 내릴 명령을 순서대로 정리 해놓은 문서라고 볼 수 있으며, 가장 중요한 특징 중 하나는 같은 구문이 두 가지 이상의 의미로 해석 될 여지가 있어서는 안된다 라는 것이다. 그런데 다중 상속이 허용 될 경우 이러한 상황이 발생할 가능성이 있으며, 그 중.. 2017. 9. 28.