전체 글

전체 글

    데이터 무결성을 위한 제약 조건

    -- 1. CREATE TABLE ORDERS( ORDER_ID NUMBER(12, 0), ORDER_DATE DATE, ORDER_MODE VARCHAR2(8), CUSTOMER_ID NUMBER(6, 0), ORDER_STATUS NUMBER(2, 0), ORDER_TOTAL NUMBER(8, 2) DEFAULT 0, SALES_REP_ID NUMBER(6, 0), PROMOTION_ID NUMBER(6, 0) --CONSTRAINT ORDERS_ORDER_ID_PK PRIMARY KEY(ORDER_ID), --CONSTRAINT ORDERS_ORDER_MODE_CK CHECK(ORDER_MODE IN ('direct', 'online')) ); ALTER TABLE ORDERS ADD CONSTRA..

    Java 자료형, Python 자료형

    Java 자료형, Python 자료형

    1. Java 자료형 ArrayList 크기가 가변적으로 변하는 선형 리스트 성질을 가진 클래스이다. 인덱스를 통해 접근 가능하기 때문에 순서가 중요하다. LinkedList 데이터를 저장하는 노드가 이전 노드와 다음 노드의 상태를 알고 있는 링크드 리스트 자료구조를 구현한 클래스이다. HashSet 중복된 원소를 허용하지 않는 집합(Set)의 성질을 가진 클래스이다. 따라서 순서가 중요하지 않다. HashMap 키와 값으로 구성된 객체를 저장하는 구조로 되어 있는 자료구조를 구현한 클래스이다. [ArrayList] 선언 List a = new ArrayList(); ArrayList a = new ArrayList(); 메서드 add(값) add(인덱스, 값) remove(인덱스) [HashSet] 선..

    변수와 배열

    1. 데이터 타입 프로그래밍 안에서 실수형, 정수형과 같이 여러 종류의 데이터를 식별하는 형태이다. 불린 타입 조건이 참인지 거짓인지 판단할 때 사용 C : X C++ : bool Java : boolean 문자 타입 문자 한 개를 저장할 때 사용 char 문자열 타입 나열된 여러 개의 문자를 저장할 때 사용 C : char[] C++ : string Java : String 정수 타입 정숫값을 저장할 때 사용 int 부동 소수점 타입 소수점을 포함하는 실숫값을 저장할 때 사용 float, double 2. 변수 저장하려는 어떤 값을 주기억장치에 기억하기 위한 공간이다. static 변수(=정적변수) 프로그램이 시작될 때 변수를 초기화하고, 프로그램이 종료되기 전까지 메모리가 유지되는 변수이다. 변수를 ..

    아스키 코드

    1. 아스키 코드란? 미국 ANSI에서 정보 교환용으로 표준화하였다. 영문 키보드로 입력할 수 있는 모든 기호가 할당된 기본적인 부호체계이다. 10진수 부호 10진수 부호 0 NULL 67 C 32 ' '(Space) 68 D 48 0 97 a 49 1 98 b 65 A 99 c 66 B 100 d 부호 '0'의 10진수가 48, 부호 'A'의 10진수가 65, 부호 'a'의 10진수가 97인 것을 암기해두면 그다음 부호는 순서대로 진행되기 때문에 편리할 것이다. 2. 아스키 코드 예시 #include void main(){ char a; a = 'A' + 3; printf("%d %c", a, a); } 68 D 부호 'A'의 10진수 값은 65이다. 65에 3을 더하면 68이 되므로 a에 68이라는 ..

    힙(Heap)

    힙(Heap)

    1. 힙(Heap) 이란? 힙 : 데이터에서 최댓값과 최솟값을 빠르게 찾기 위해 고안된 완전 이진 트리(Complete Binary Tree) 완전 이진 트리 : 노드를 삽입할 때 최하단 왼쪽 노드부터 차례대로 삽입하는 트리 힙을 사용하는 이유 배열에 데이터를 넣고, 최댓값과 최솟값을 찾으려면 O(n)이 걸림 이에 반해, 힙에 데이터를 넣고, 최대값과 최솟값을 찾으면, O(logn) 이 걸림 우선순위 큐와 같이 최대값 또는 최솟값을 빠르게 찾아야 하는 자료구조 및 알고리즘 구현 등에 활용됨 2. 힙(Heap) 구조 힙은 최대값을 구하기 위한 구조 (최대 힙, Max Heap) 와, 최솟값을 구하기 위한 구조 (최소 힙, Min Heap) 로 분류할 수 있음 힙은 다음과 같이 두 가지 조건을 가지고 있는 ..

    스택(Stack)

    스택(Stack)

    0. 스택 데이터를 제한적으로 접근할 수 있는 구조 (큐와 동일) 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조 가장 나중에 쌓은 데이터를 가장 먼저 빼낼 수 있는 데이터 구조 (큐와 차이) 큐 : FIFO 정책 (줄 서기) 스택 : LIFO 정책 (책 쌓기) 1. 스택 구조 스택은 LIFO(Last In, First Out) 또는 FILO(First In, Last Out) 데이터 관리 방식을 따름 LIFO : 마지막에 넣은 데이터를 가장 먼저 추출하는 데이터 관리 정책 FILO : 처음에 넣은 데이터를 가장 마지막에 추출하는 데이터 관리 정책 대표적인 스택의 활용 컴퓨터 내부의 프로세스 구조의 함수 동작 방식 주요 기능 push() : 데이터를 스택에 넣기 pop() : 데이터를 스택에서 꺼내기 Vi..

    [JAVA] MVC 패턴

    지금까지는 한가지 목적에 맞춰서 한 개의 클래스에 모든 것들을 만들었다. 하지만 이제부터는 한가지 목적을 위해 여러 종류의 클래스를 사용하게 된다. 예를 들어 게시판 프로그램의 경우에는 "회원기능"이라는 측면과 "게시판"이라는 측면 두가지 분야로 나뉘고 거기에 맞춰 여러가지 클래스를 준비해주어야 한다. 만약 여러 분야가 있는 프로그램을 하나의 클래스 안에 모두 다 적을 경우, 한 분야의 유지보수를 하려면 그 전체 프로그램을 모두 다 뜯어 봐야 할 것이다. 또한 이렇게 통째로 만들어진 프로그램은 코드의 재사용성 측면에서 매우 부족한 모습을 보인다. 만약 목적에 맞추어 클래스를 나누면 특정 분야의 클래스들만 다른 곳에서 재사용하는 것도 가능하다. 객체지향의 5가지 원칙 SOLID S : Single Resp..

    [JAVA] 콜렉션(Collection)

    1. 콜렉션 자바는 내부적으로 여러 개의 같은 데이터 타입의 객체들을 한꺼번에 모아서 제어할 수 있는 "Collection"이라는 개념이 존재한다. 이 콜렉션에 해당하는 클래스들은 모두 공통적으로 "동적 할당"이 구현되어 있다. 콜렉션에 해당하는 클래스들을 크게 나누면 다음과 같다. List : 순서가 존재하고 중복된 객체도 저장 가능하다. Set : 순서가 존재하지만 중복된 객체를 저장할 수 없다. Map : 순서가 존재하지 않고 중복된 객체를 저장할 수 없다. (단, 저장된 객체를 불러올 때는 미리 약속한 "열쇠(key)" 값으로 불러오게 된다. 2. ArrayList 콜렉션에 해당하는 클래스 객체들은 반드시 어떤 클래스 혹은 인터페이스가 모여있는지 적어주어야 한다. 적어주는 방법은 각 데이터 타입 ..

    객체지향 프로그래밍 정리

    1. 클래스 package JumpTo; class Animal { String name; // 객체 변수 = 인스턴스 변수 = 멤버 변수 = 속성 (클래스에 선언된 변수) public void setName(String name) { // setName 메소드 내부에 사용된 this는 // Animal 클래스에 의해 생성된 객체를 지칭한다. // 만약 Animal cat = new Animal()과 같이 cat이라는 객체를 만들고 // cat.setName("body")와 같이 cat 객체에 의해 setName 메소드를 호출하면 // setName 메소드 내부에 선언된 this는 바로 cat 객체를 지칭한다. // 따라서 this.name = "body"는 // cat.name = "body"로 해석된..