분류 전체보기
결합도(Coupling)과 응집도(Cohesion) 순서
결합도 순서 강 > 약 / 내공외제스자내용 -> 공통 -> 외부 -> 제어 -> 스탬프 -> 데이터(자료)Content > Common > External > Control > Stamp > Data Content Coupling (내용 결합도)하나의 모듈이 다른 모듈의 내부 동작을 수정하거나 내부 동작에 의존하는 상태.(내부 자료나 제어 정보를 사용하는 것이다.) 한 모듈이 데이터를 생성하는 방법을 변경하면, 다른 모듈의 변경이 필요하다.(다른 모듈이 로컬 데이터에 접근하는 경우) Common Coupling (공통 결합도)두 개의 모듈이 같은 글로벌 데이터를 공유하는 상태. (전역 변수)공유 자원(변수)을 변경하면 그 자원을 사용하는 모든 모듈의 변경이 필요하다. External Coupling (외..
Virtual Machine (가상 머신이란?)
가상 머신 (VM : Virtual Machine) 이란?- 실재하는 컴퓨터 상에 소프트웨어로 논리적으로 만들어낸 컴퓨터- 하나의 물리 자원 (컴퓨터) 위에 하나의 환경(OS)만 있는 것을 효율화하고자 기상화층을 만들고 그 위에 OS를 새로 설치하는 기법 실제로 있는 컴퓨터 시스템을 여러 명의 사용자가 동시에 사용할 수 있게 하기 위해서. (효율성 ↑) 따라서 하나의 컴퓨터를 여러 명의 사용자가 동시에 사용할 수 있도록 여러 대의 작은 컴퓨터로 분할 사용하거나, 운영체계나 하드웨어 등의 구성을 달리하여 운영하고자 할 때 주로 사용된다.장단점- 사용자는 자신만이 콘솔, 디스크, 프린터 등을 갖춘 온전한 컴퓨터 시스템을 갖고 혼자서 사용하고 있는 것처럼 느끼게 된다.- 1대의 컴퓨터상에서 여러 개의 시스템을..
[DB] 엔터티(Entity)란?
개념엔터티(Entity)를 그대로 번역하면 실제, 독립체라는 뜻으로 데이터 모델링에서 사용되는 객체다. 즉 엔터티(Entity)는 업무에 필요하고 유용한 정보를 저장하고 관리하기 위한 "어떤 것(Thing)"이라고 말할 수 있다. "어떤 것"이라고 부르는 것처럼 엔터티는 추상적인 의미를 가지며 학교나 학생처럼 현실 세계에서 눈에 보이는 개념일 수도 있고 주문이나 결제처럼 눈에 보이지 않는 개념일 수도 있다.엔터티(Entity) : 엔터티는 데이터베이스 테이블인스턴스(Instance) : 인스턴스는 데이터베이스에 저장된 데이터 내용의 전체 집합속성(Attribute) : 속성은 인스턴스의 구성요소로써 더 이상 분리되지 않는 단위로, 업무에 필요한 데이터를 저장할 수 있다.적절한 엔터티 특징도출한 엔터티가 ..
[Java] BigDecimal
개념BigDecimal은 Java 언어에서 숫자를 정밀하게 저장하고 표현할 수 있는 유일한 방법이다.소수점을 저장할 수 있는 가장 크기가 큰 타입인 double은 소수점의 정밀도에 있어 한계가 있어 값이 유실될 수 있다.Java 언어에서 돈과 소수점을 다룬다면 BigDecimal은 선택이 아니라 필수이다.BigDecimal의 유일한 단점은 느린 속도와 기본 타입보다 조금 불편한 사용법 뿐이다.double 문제점소수점 이하의 수를 다룰 때 double 타입은 사칙연산시 아래와 같이 우리가 기대한 값과 다른 값을 출력한다. 이유는 double 타입이 내부적으로 수를 저장할 때 이진수의 근사치를 저장하기 때문이다. 저장된 수를 다시 십진수로 표현하면서 아래와 같은 문제가 발생한다. 아래 설명할 BigDecim..
[Java] long float의 값 뒤에 L, F을 붙여야 하는 이유
long 타입으로 변수를 선언하고 값을 초기화 할 때에는 반드시 리터럴 뒤에 소문자나 대문자 L을 붙여주어야 한다. 아래 에러가 뜨는 이유는 2147483648 이라는 값은 변수 lo에 저장하기 전에 임시로 메모리에 저장되는데, 이때 사용하는 기본 데이터 타입이 int 이고 허용 범위를 초과하는 리터럴은 임시로 저장하는 과정에서 에러가 나는 것이다. 이것을 해결하려면 아래와 같이 리터럴 끝에 l을 붙여주면 된다. float도 비슷한 맥락의 이유로 에러가 난다. float의 데이터 값을 변수에 저장하기 전에 이 값을 메모리에 임시로 저장하는데, 이때 저장되는 타입이 double이다. double은 8 바이트의 데이터 타입이고, float는 4 바이트다. 1199.80이라는 수는 8바이트의 double 타입..
[Java] 자료형 정리
Data Type자바에는 기본형 (Primitive Type)과 참조형 (Reference Type)이 있다.Java Data Type ㄴ Primitive Type ㄴ Boolean Type(boolean) ㄴ Numeric Type ㄴ Integral Type ㄴ Integer Type(short, int, long) ㄴ Floating Point Type(float, double) ㄴ Character Type(char)ㄴ Reference Type ㄴ Class Type ㄴ Interface Type ㄴ Array Type ㄴ Enum Type ㄴ etc.Primitive Type기본형은 다음과 ..
근호를 포함한 식의 곱셈과 나눗셈, 덧셈과 뺄셈 개념 정리
무리수의 곱셈무리수의 특징은 곱셈이나 나눗셈은 둘 다 루트 안에서 계산이 가능하다는거다. a와 b의 값 둘 다 양수일때 루트a와 루트b를 곱하면 루트ab가 된다, 즉 루트2 * 루트3 = 루트6 a와 b가 모두 양수일 때 루트a 제곱b는 a루트b로 표현이 가능하다예) 루트12 = 2루트3, 루트18 = 3루트2, 루트24 = 2루트6제곱근식의 나눗셈 곱셈과 나눗셈이 섞여 있어도 나눗셈은 곱하기를 역수를 취해 계산하면 된다, 단 마지막에는 항상 루트안의 값을 소인수 분해 했을 때 제곱수가 나온다면 제곱하기 전의 값을 항상 밖으로 빼내어 간단하게 정리해야 한다.분모의 유리화분모가 무리수로 되어 있을때, 유리수로 고쳐주는 것이다, 간단하게 설명하면 분모의 값이 근호가 포함된 수가 있을 때, 분모에 있는 같은 ..
컴퓨터 시스템
컴퓨터의 기본 구성도하드웨어컴퓨터에서 각종 정보를 입력하여 처리하고 저장하는 동작이 실제 일어나게 해주는 물리적인 실체.컴퓨터의 성능은 하드웨어 의해 결정됨1) 중앙 처리 장치 (cpu)인간의 두뇌에 해당하는 부분으로, 실행과 데이터 처리를 담당프로세서 또는 마이크로프로세서라고도 부름cf) 마이크로프로세서 : CPU를 IC 칩 1개에 집적한 반도체 소재산술 논리 연산 장치(ALU) : 산술 연산, 논리 연산, 보수 연산, shift 연산 수행제어 장치(CU) : 1) 프로그램의 명령어 해독, 2) 명령어 실행에 필요한 제어 신호를 발생, 3) 컴퓨터의 모든 장치를 제어레지스터 : 중앙 처리 장치 내부에 있는 데이터를 일시적으로 보관하는 임시 기억 장치(빠른 access 가능)CPU 내부 버스 : 구성 요..
최대공약수와 최소공배수의 관계
일단 두 자연수 A와 B 그리고 최대공약수 G와 최소공배수 L을 그림으로 표현하면 아래와 같은데, 해당 그림을 보면 몇가지 규칙을 알 수 있다. 먼저 최소공배수 L = G * a * b 그리고 자연수 A를 G로 나누면 a가 나오므로 A = G * a이고, 자연수 B를 G로 나누면 b가 나오므로 B = G * b라는 것도 알 수 있다. 그럼 여기서 두 자연수인 A와 B를 서로 곱해보면, A * b = G * a * G * b가 된다. 그리고 A * B = G * a * G * b의 순서를 바꿔보면, A * B = G * G * a * b라고 나타낼 수 있는데, 위에서 L = G * a * b라고 했으니, G * a * b에는 L을 대입할 수가 있다. 그래서 최종적으로 A * B = G * L이 되는 것을..
최대공약수와 최소공배수란
서로 다른 두 자연수라도 약수를 구해보면 똑같이 공통된 약수가 있다. 예를 들어 자연수 12와 18의 약수를 구해보면 아래와 같은데, 이 중에서 1, 2, 3, 6은 똑같이 공통된 약수다, 그리고 이렇게 서로 다른 두 자연수의 공통된 약수를 보통 공약수라고 한다. 또 공약수 중에서 가장 큰 수를 최대공약수라고 하는데, 자연수 12와 18의 최대공약수는 6이다. 최대공약수를 알면 공약수 구하기가 쉬워진다 왜냐면 최대공약수의 약수가 바로 공약수이기 때문이다, 그래서 일일이 약수를 구해서 공약수를 찾지 않아도, 최대공약수만 알면 쉽게 공약수를 구할 수 있다. 물론 12와 18의 경우에는 숫자가 작아서, 공약수를 일일이 구해도 상관없지만, 숫자가 클 경우에는 공약수 구하기가 번거롭다. 예를 들어 자연수 1800..