분류 전체보기

· Java
변수는 클래스변수, 인스턴스변수, 지역변수 모두 세 종류가 있다. 변수의 종류를 결정짓는 중요한 요소는 변수의 선언된 위치이다. 인스턴스변수(instance variable) 클래스 영역에 선언되며, 클래스의 인스턴스를 생성할 때 만들어진다. 클래스 영역안에 선어되었기 때문에 사용하려면 인스턴스를 생성해야 한다. 각 인스턴스마다 다른 값을 저장할 수 있다. 클래스변수(class variable) 인스턴스변수 앞에 static을 붙히기만 하면 된다. 인스턴스변수와는 달리 모든 인스턴스는 공통적인 값을 유지해야한다. 인스턴스를 생성하지 않아도 '클래스이름.클래스변수'와 같은 형식으로 사용한다. 클래스가 메모리에 로딩될 때 생성되어 프로그램이 종료될 때 까지 유지된다. public을 앞에 붙이면 같은 프로그램..
· Java
클래스 - 데이터와 함수의 결합 변수 - 하나의 데이터를 저장할 수 있는 공간 배열 - 같은 종류의 여러 데이터를 하나의 집합으로 저장할 수 있는 공간 구조체 - 서로 관련된 여러 데이터를 종류에 관계없이 하나의 집합으로 저장할 수 있는 공간 클래스 - 데이터와 함수의 결합(구조체 + 함수) class Tv1 { // 구조체 // 변수 String color; boolean power; int channel; } class Tv { // 클래스 // 변수 String color; boolean power; int channel; // 함수 void powerOnOff() { // 전원 ON, OFF power = !power; } void channelUp() { // 채널 UP ++channel; } ..
· DDD
애그리거트란? 관련된 객체를 하나로 묶은 군집 도메인이 커질수록 개발할 도메인 모델도 커지면서 엔티티와 밸류가 많아질수록 모델은 점점 복잡해진다. 개별 도메인 모델에만 집중하다 보면 큰 수준에서 모델을 이해하지 못해 큰 틀에서 모델을 관리 할 수 없게 된다. 도메인 모델을 개별 객체뿐만 아니라 상위 수준에서 모델을 볼 수 있어야 이해하는데 도움이 된다. 그러므로 애그리거트로 관련된 객체를 묶어 전체적인 모델의 이해를 돕는다. 애그리거트 구성할때 주의할점! 한 애그리거트에 속한 객체는 다른 애그리거트에 속하지 않는다. 각 애그리거트는 독립적이며 자기 자신만 관리할 뿐 다른 애그리거트를 관리하지 않는다. 함께 생성되고 제거되는 구성요소는 한 애그리거트에 속할 가능성이 높다.(같은 라이프 사이클) 함께 변경되..
· DDD
BOUNDED CONTEXT 도메인마다 같은 용어라도 의미가 다르고 같은 대상이라도 저장하는 용어가 다를 수 있다. 그러므로 도메인을 완벽하게 표현하는 단일 모델을 만드는 것은 불가능 하다. 모델은 특정한 컨텍스트(문맥)하에서 완전한 의미를 갖는다. 이렇게 구분되는 경계를 갖는 컨텍스트를 DDD에서는 BOUNDED CONTEXT라고 부른다. BOUNDED CONTEXT는 모델의 경계를 결정하며 한 개의 BOUNDED CONTEXT는 논리적으로 한 개의 모델을 갖는다., 하지만 그렇지 않은 경우가 많다. BOUNDED CONTEXT는 각자 구현하는 하위 도메인에 맞는 모델을 갖는다. 조직 구조에 따라 BOUNDED CONTEXT 결정 예를 들어, 주문 하위 도메인이라도 주문을 처리하는 팀과 복잡한 결제 금..
· Java
클래스(Class)와 객체(Object)의 정의와 용도 클래스(Class)란? "객체를 정의해놓은 것" 또는 "객체의 설계도 또는 틀" 클래스의 정의 : 객체를 정의해 놓은 것 클래스의 용도 : 객체를 생성하는데 사용 객체(Object)란? 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다. 객체의 정의 : 실제로 존재하는 것. 사물 또는 개념 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름 예) TV설계도(클래스)는 TV(객체)를 정의한 것이며 TV(객체)를 만다는데 사용된다. 객체와 인스턴스 클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화(instantiate)라고 하며, 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스(instance)라고 한다. 예) TV설계도(클래스)..
· Java
객체지향언어의 역사 초창기 컴퓨터는 주로 과학실험이나 미사일 발사실험과 같은 모의실험(simulation)을 목적으로 사용했다. 과학자들은 실제 세계와 유사한 가상 사계를 컴퓨터 속에 구현하고자 노력했으며 이러한 노력은 객체지향이론을 탄생시켰다. 객체지향이론의 기본 개념은 "실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다. " 라는 것이다. 실제 사물의 속성과 기능을 분석한 다음, 데이터(변수)와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 것과 같은 가상세계를 구현하고, 이 가상세계에서 모의 실험을 함으로써 많은 시간과 비용을 절약할 수 있었다. 객체지향이론은 상속, 캡슐화, 추상화 개념을 중심으로 점차 구체적으로 발전되었으며 1960년대 중반에 시뮬..
· Java
String 배열의 선언과 생성 & 초기화 배열의 타입이 String인 경우에도 배열의 선언과 생성방법 및 초기화는 다르지 않다. String의 기본값은 null이므로 각 요소의 값은 null로 초기화 된다. char 배열과 String 클래스 String 클래스는 char 배열에 여러 기능을 추가하여 확장한 것 그러므로 char 배열보다 String 클래스를 사용하는 것이 문자열을 다루기 쉽다. 다만 String 객체(문자열)는 읽을수만 있을 뿐 내용을 변경할 수 없다. (변경 가능한 문자열을 다루려면 StringBuffer클래스 사용) 문자열을 숫자로 변환하려면 Integer.parseInt()를 사용 String str = "java"; String strNum = "8"; str += strNum..
· Java
다차원 배열(multi-dimensional array)이란? 2차원 이상의 배열(array) 2차원 배열의 선언과 생성 2차원 배열을 선언하는 방법은 1차원 배열과 같지만 괄호[]가 하나 더 들어간다. int[][] numArray = new int[4][3]; // 4행 3열의 2차원 배열 선언 및 생성 2차원 배열의 길이와 인덱스(index) 2차원 배열은 행(row)와 열(column)로 구성되어 있기 때문에 길이와 index도 행과 열 별로 존재한다. 2차원 배열의 길이 2차원 배열은 행의 길이, 각 행마다 열의 길이가 존재한다. int[][] numArray = new int[4][3]; // 4행 3열의 2차원 배열 선언 및 생성 System.out.println(numArray.length..
· Java
배열(array)이란? 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 서로 다른 타입의 변수들로 구성된 배열은 만들수 없다. // 5개의 int값을 저장항 수 있는 배열을 생성 int num1, num2, num3, num4, num5; // 변수로 생성 int[] numArray = new int[5]; // 배열로 생성 배열 선언과 생성 변수 또는 타입에 대괄호[]를 붙이면 된다. // 배열 선언(배열을 다루기 위한 참조변수 선언) int[] numArray; // 타입[] 변수명; -> 권장 int numArray[]; // 타입 변수명[]; // 배열 생성(실제 저장공간을 생성) numArray = new int[3] // 동시에 배열 선언과 생성 int[] numArray = new int..
· Java
for문 지정한 횟수만큼 반복되어 괄호{}안에 문장을 반복 수행 for문안에 조건식이 생략된 경우 true로 간주되어 무한 반복문이 된다. for (초기화; 조건식; 증감식) { ... } for (int i = 1; i
beekei
'분류 전체보기' 카테고리의 글 목록 (31 Page)