전체 글 73

데이터베이스 기초(Basic of Database)

데이터베이스(Database) 데이터베이스의 개념 및 정의 여러 사람이 공유하여 사용할 목적으로 체계화하여 통합, 관리하는 데이터의 집합 여러 응용 시스템들의 통합된 데이터들을 모아 자료 항목의 중복을 없애고 구조화 자료구조를 고도화하여 검색과 갱신 기능을 효율적으로 할 수 있도록 설계 데이터베이스의 역사 1950년대에 군사 관련 데이터의 효율적인 관리를 위해 처음 사용됨 이후 컴퓨터 기술의 발전으로 데이터 데이터베이스의 크기, 기능, 성능 등이 같이 향상됨 데이터베이스의 기술은 데이터의 모델이나 구조에 따라 3단계의 발전으로 구분 데이터베이스 모델 1세대 - 안내형 데이터베이스(Navigational Database) 주로 사용되었던 데이터베이스 모델은 계층형 모델(Hierarchical model)과..

Database 2022.06.13

[Java] 클래스의 구성 요소(Member of Class)

클래스의 구성 요소 필드(field): 객체의 속성을 정의하는 영역입니다 컨스트럭터(constructor): 객체의 생성 방법을 정의하는 영역입니다. 메서드(method): 객체의 기능을 정의하는 영역입니다. 필드(field) 필드는 객체의 속성, 즉 데이터를 저장하는 역할을 합니다. 데이터는 종류에 따라 아래와 같이 구분할 수 있습니다. 고유 데이터: 객체를 다른 객체와 구분짓는 고유한 데이터 상태 데이터: 객체의 현재 상태를 표현할 수 있는 데이터 참조 데이터: 다른 객체와의 상호작용을 가지는 데이터 필드의 선언 방법 필드 선언 시 자료형은 기본 타입과 참조 타입 모두 사용 가능합니다. 필드 변수 선언 후 값을 지정하지 않았을 경우 인스턴스 생성 시 자동으로 해당 타입의 기본값으로 초기화됩니다. 필요..

[Java] 인스턴스의 생성과 활용(Create & Using Instance)

인스턴스의 생성 클래스를 통해 생성된 객체를 인스턴스(instance)라고 합니다. 클래스 외부에서 클래스의 속성이나 기능을 사용하기 위해서는 반드시 인스턴스를 생성해야합니다. 인스턴스를 생성하기 위해서는 new 연산자를 사용해야 합니다. new 연산자는 인스턴스를 생성한 후 인스턴스가 저장된 주소를 반환하는 기능을 가지고 있습니다. new 뒤에는 생성하고자 하는 클래스의 컨스트럭터를 입력합니다. 만약 컨스트럭터에 매개변수가 있는 경우 인스턴스 생성시 매개변수로 지정한 값을 입력해줘야 합니다. 인스턴스의 생성 클래스명 변수이름 = new 컨스트럭터; 컨스트럭터의 호출 예시 // 기본 컨스트럭터를 호출하여 인스턴스 생성 Student st1 = new Student(); // 별도로 정의한 컨스트럭터를 호..

[CLI] 환경변수(Environment Variable)

환경변수(Environment Variable) 환경변수란? 프로그램 동작에 영향을 미치는 동적인 값들을 의미 OS는 환경변수를 설정하고, 프로그램이 환경변수를 찾아서 사용할 수 있도록 도움 (예시 특정 프로그램을 실행할 때 의존하는 프로그램의 설치 경로 등의 값) 환경 변수의 분류 지역 환경변수: 현재의 터미널에서만 적용되는 변수, 환경변수를 생성한 특정 사용자만 사용할 수 있는 환경변수 전역 환경변수: 시스템 전체에 적용되는 변수, 모든 사용자가 사용할 수 있는 환경변수 환경변수의 적용 임시적용: 터미널 종료 시 환경변수가 자동으로 삭제 영구적용: 재부팅을 해도 환경변수가 계속 남아있음 환경변수 임시 적용 방법 지역 환경변수 변수명=값 전역 환경변수 export 변수명=값 (변수명="공백이 있는 값"..

[Java] 오브젝트와 클래스(Object & Class)

오브젝트(객체) 객체란 실존하는 물체나, 개념 중 자신만의 영역을 가지고 다른 것과 구분되는 것을 뜻합니다. 객체는 속성과 기능으로 구성됩니다. 속성: 객체의 분류나 특징을 정의한 것으로 필드(field)라고도 합니다. 기능: 객체의 동작이나 행위를 정의한 것으로 메서드(method)라고도 합니다. 클래스 클래스란 객체지향 프로그램에서 객체를 생성할 때 사용하는 일종의 틀(frame) 입니다. 클래스를 활용하여 같은 특징을 가진 객체를 계속 생성할 수 있습니다. 클래스로부터 생성된 객체를 해당 클래스의 인스턴스(instance)라고 합니다. 인스턴스 인스턴스란 클래스를 통해 생성된 객체의 구현체라고 할 수 있습니다. 인스턴스는 해당 클래스의 자료형의 변수에 생성되어 메모리에 할당됩니다. 어떠한 추상적인 ..

[Java] 다차원 배열(Multi-dimensional Arrays)

다차원 배열 배열 안에 또 다른 배열이 대입되는 것을 다차원 배열이라고 합니다. 배열 내부에 대입된 배열이 많아질수록 배열의 차원이 증가하여 n차원 배열으라고 부릅니다. 다차원 배열의 구조 다차원 배열 // 중괄호([])가 붙는 숫자에 따라 배열의 차원을 설정할 수 있음 // 2차원 배열 타입[][] 변수 = { // 1차원 배열의 0번 인덱스의 배열값 {a1, a2, ... an}, // 1차월 배열의 1번 인덱스의 배열값 {b1, b2, ... bn} }; // 3차원 배열 타입[][][] 변수 = { // 1차원 배열의 0번 인덱스 { // 2차원 배열의 0번 인덱스의 배열값 {a1, a2, ... an}, // 2차원 배열의 1번 인덱스의 배열값 {b1, b2, ... bn}}, ... }, ....

[Java] 자바의 배열(Arrays)

배열 배열이란 동일한 자료형을 묶어 저장하는 참조 자료형입니다. 배열을 생성할 때는 반드시 크기를 지정해야하고, 한 번 지정하면 변경할 수 없습니다. 배열을 생성하는 방법 // 자료형[] 변수명 자료형[] 변수명 = new 자료형[생성하고자하는 배열의 크기]; int[] arr1 = new int[3]; // 자료형 변수명[] 자료형 변수명[] = new 자료형[생성하고자 하는 배열의 크기]; double arr2[] = new double[4]; 배열 선언 방법 일반적으로 자료형, 변수의 표현방식의 일관성을 유지하기 위해 변수명에 대괄호([])를 붙이는 방식보다 자료형에 대괄호를 붙이는 방식을 많이 사용합니다. 배열을 선언하면 해당 자료형으로 값을 입력할 수 있는 공간이 배열의 크기 개수만큼 생성됩니다..

[Java] 자바 프로그램 기본 실행 과정(Java Program Basic Runtime)

자바 프로그램 실행 과정 개발자는 자바 프로그래밍 언어를 이용하여 .java 확장자를 가지는 자바 소스 파일을 생성합니다. 컴파일러가 자바 소스 파일을 컴파일 하면 작성한 자바 코드를 바탕으로 확장자가 .class인 바이트코드 파일이 생성됩니다. (바이트코드는 프로그래밍 언어와 기계어의 중간 언어로 자바가 어느 환경에서든 구동되게 하는 중간 번역자 역할을 수행.) 바이트코드 파일은 자바 가상 머신(JVM)에 의해 각 CPU와 OS에 맞는 기계어로 번역되며 프로그램이 최종적으로 실행되게 됩니다. 자바 컴파일 명령어 IDE를 활용할 경우 컴파일 과정을 자동으로 진행해주기 때문에 편리합니다. IDE를 사용하지 않을 경우 CLI를 사용하여 자바 프로그램을 실행할 수 있습니다. javac 명령어: 자바 소스 파일..

[CLI] Mac OS 터미널 주요 명령어

Mac OS 터미널 주요 명령어 cd(change directory): 디렉토리를 이동하는 명령어 cd 폴더명 : 해당 폴더로 이동, 해당 디렉토리 안에 있는 폴더여야 함 cd .. : 이전 상위 폴더로 이동 cd ~ : 루트 폴더로 이동 pwd(print working directory) : 현재 경로를 확인하는 명령어 ls(list): 현재 폴더의 파일, 폴더 리스트를 보여주는 명령어 ls -l: 폴더 내의 폴더나 파일의 포맷을 전부 표시하는 옵션 ls -a: 폴더 내의 모든 항목을 표시하는 옵션 mkdir(make directory): 현재 폴더에 새로운 폴더를 만드는 명령어 touch: 새로운 파일을 만드는 명령어 open: 해당 파일을 GUI 탐색기로 여는 명령어 (우분투 리눅스의 경우 naut..

[Java] 자바 개발 환경(Java Development Environment)

JDK 설치하기 자바 프로그램 개발을 위한 개발 도구로 Oracle JDK, Open JDK 등 여러 JDK가 있습니다. 자바는 오픈 소스이지만 오라클에서 라이센스를 가지고 있기 때문에, 상용으로 사용하기에는 제약이 있습니다. 때문에 여러 단체나 사람들이 JDK를 오픈 소스로 제작하여 배포하고 있습니다. 주요 JDK Oracle JDK: 오라클에서 제공하는 공식 JDK로 개발/학습 용도로는 무료로 이용가능하며, 상업적 이용은 유료입니다. Open JDK: 오픈소스로 만들어진 JDK로 별도의 이용료 없이 무료로 이용 가능합니다. Azul Zulu: Azul Systems에서 제작한 JDK로 무료로 이용이 가능하며 몇몇 기능이 강화된 JDK를 유료로 이용할 수 있습니다. Eclipse Adoptium: IB..

[Java] 자바의 반복문(Iterate Statement)

for문 for문은 특정 조건에 따라 일정 횟수만큼 실행문을 반복하는 기능을 제공합니다. for문의 기본 구조 for( 초기화식; 조건식; 증감식 ) { 조건식이 참일 경우 실행할 명령 코드 블럭; (반복 실행되는 영역) } for문의 동작 방식 초기화식이 가장 먼저 실행되며, 조건식을 평가하여 true일 경우 실행문을 실행합니다. 실행문이 실행되면 증감식이 실행되고, 다시 조건식을 평가하여 반복 실행 여부를 평가합니다. 만약 증감식 실행 결과로 조건식이 false가 될 경우 for문을 종료하고 블록을 건너뜁니다. (처음부터 조건식이 false일 경우 for문은 실행되지 않음) for문 사용 예시1 // 1부터 100까지 반복하여 더하는 프로그램 // "1부터 100까지의 합은 5,050입니다." 출력 ..

[Java] 자바의 조건문(Conditional Statements)

if문 if문은 조건식의 결과에 따라 실행 여부가 결정됩니다. if문의 구조 if( 조건식 ) { 조건식이 참일 경우 실행할 명령 코드 블럭; } if문 사용 방식 조건식에는 참 혹은 거짓을 반환하는 연산식이나 boolean 타입의 변수를 넣을 수 있습니다. 조건식이 참일 경우 중괄호({ ... }) 안의 실행문이 실행됩니다. (중괄호 내의 실행문이 하나만 있을 경우 중괄호를 생략할 수 있음) 조건식이 거짓일 경우 실행문을 건너뛰고 if문을 빠져나가게 됩니다. if문의 사용 예시 // score의 값이 91이므로 "A등급 입니다." 출력 public class IfExample { public static void main(String[] args) { int score = 91; if(score >= ..

[Java] 자바의 제어문(Control Statement)

제어문 제어문이란 프로그램의 실행을 제어할 수 있는 실행문을 뜻합니다. 제어문의 종류는 조건문, 반복문, 분기문 이렇게 3가지로 구분됩니다. 조건문 조건문은 특정 조건이 참인지, 거짓인지에 따라 결과가 나뉘어지는 실행문입니다. 조건문의 종류 if문: 참과 거짓을 반환하는 조건식의 결과에 따라 블록의 실행 여부가 결정되는 조건문입니다. if-else문: 조건식이 거짓일 때 처리되는 또 다른 조건식을 붙일 수 있는 조건문입니다. switch문: 특정 변수를 반환하는 조건식의 결과값에 따라 설정한 코드를 실행하게 하는 조건문입니다. 반복문 반복문은 특정 조건이 충족될 때까지 반복적으로 명령을 수행하는 실행문입니다. 반복문의 종류 for문: 초기화식이 특정 조건을 만족하게 될 때까지 특정 명령을 반복적으로 수행..

[Java] 비트 연산자(Bitwise Operators)

비트 연산자 비트 연산자는 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자입니다. 컴퓨터는 기본적으로 2진수 기반으로 계산을 하는데 이를 이용해 논리 연산이나 이동 연산을 수행합니다. 비트 연산은 비트 단위의 조작을 통해 할 수 있는 몇몇 유용한 연산을 빠르게 수행하기 위해 사용됩니다. 비트 논리 연산자 비트 논리 연산자는 두 개의 피연산자를 대상으로 비트 단위의 논리 연산을 수행하는 연산자입니다. 때문에 비트 논리 연산은 0과 1로 저장되는 정수 타입만 피연산자가 될 수 있고, 부동 소수점 방식으로 저장되는 실수 타입은 피연산자가 될 수 없습니다. 비트 논리 연산자의 종류 AND(&): 두 비트가 모두 1일 경우에만 1을 반환 OR(|): 두 비트 중 하나만 1이어도 1을 반환 XOR(^): ..

[Java] 산술 연산자(Arithmetic Operators)

연산자(Operator) 연산자는 메모리에 저장된 여러 값을 목적에 맞게 연산하는 기능을 제공하고 있습니다. 연산자는 필요에 맞게 산술 연산, 논리 연산, 비트 연산 등 다양한 기능을 제공하고 있습니다. 부호 연산자 부호 연산자는 피연산자 앞에 붙어 변수의 부호를 유지하거나 변경하는데 사용됩니다. 연산자 종류는 +와 - 두 가지를 지원합니다. +[피연산자] : 피연산자의 부호를 현재 상태로 유지합니다. -[피연산자] : 피연산자의 부호를 현재의 반대 상태로 변경합니다. 증감 연산자 피연산자의 값을 증가시키거나 감소시키는데 사용합니다. ++[피연산자] : 다른 연산 수행한 후에 피연산자의 값을 1 증가시킵니다.. [파연산자]++ : 다른 연산 수행 전에 피연산자의 값을 1 증가시킵니다. -- [파연산자] ..

[Java] 자바의 패키지(Package)

패키지 패키지란 클래스의 묶음으로 파일 디렉토리와 비슷하다고 할 수 있습니다. 패키지는 하위에 또 다른 패키지를 둘 수 있으며, 도트(.) 연산자를 활용하여 하위 패키지에 접근할 수 있습니다. 클래스의 이름이 동일해도 속한 패키지가 다르다면 서로 클래스로 인식됩니다. 클래스의 전체 이름 구성 상위패키지.하위패키지.클래스 패키지 경로(이름) 예시 // 아래 두 예시의 최종 클래스 이름은 동일하지만 소속이 다르기 때문에 다른 클래스로 인식 // vip학교 패키지의 1학년 패키지의 학생1 vipschool.firstgrade.Student // vip학교 패키지의 2학년 패키지의 학생1 vipschool.secondgrade.Student package 예약어 package 예약어는 클래스의 구성 항목 중 하..

[Java] 기본 자료형(Primitive Data Type)

기본 자료형 변수는 선언될 때 자료형에 따라 저장할 수 있는 값의 종류와 범위가 달라집니다. 자바에서는 정수, 실수, 논리, 문자로 분류되는 총 8개의 기본 자료형을 제공하고 있습니다. 정수 타입: byte, short, int, long 실수 타입: float, double 논리 타입: boolean 문자 타입: char 리터럴 프로그래머가 코드에 수치로 입력하는 것을 리터럴(Literal)이라고 합니다. 일반적으로 수를 입력할 때는 10진수의 정수 리터럴을 사용하지만 상황에 따라 다른 진법의 수도 입력할 수 있습니다. 2진수: 리터럴을 0b / 0B 로 시작하고 0, 1로만 수치를 입력 8진수: 리터럴을 0으로 시작하고 0~7까지의 숫자로만 수치를 입력 10진수: 별도의 입력 조건 없이 0~9까지의 ..

[Java] 변수와 자료형(Variable & Data Type)

변수(Variable)란? 변수는 특정 값을 저장할 수 있는 메모리 공간을 뜻합니다. 컴퓨터의 메모리는 여러 데이터 주소들로 이루어진 데이터 저장 공간으로 이루어져있는데, 프로그램이 실행되면 해당 메모리에 데이터를 저장하고 읽는 과정을 반복하게 됩니다. 이러한 데이터를 저장하고 읽는 작업을 효율적으로 수행하기 위해 변수를 사용합니다. 자료형(Data Type)이란? 자료형은 데이터의 종류를 구분해놓은 여러 유형을 뜻합니다. 자료형은 메모리에 저장되는 데이터를 효과적으로 관리하기 위해 사용됩니다. 변수를 선언하기 위해서는 자료형을 명시해야 하며, 변수에 들어가는 데이터의 유형과 크기는 자료형에서 정의한 범위를 벗어날 수 없습니다. 자바에서 자료형은 크게 기본 자료형과 참조 자료형으로 구분됩니다. 변수의 선..