본문 바로가기

Archived(CSE Programming)

(169)
Java 컬렉션(Collection) 자바의 Collection은 대표적으로 List, Set, Map(위에서는 상속하고있지만 Collection으로 분류) 이렇게 제시한다. 1. List List는 순서를 보장하는 데이터들의 집합(중복 허용). 1) Vector 동기화 처리가 보장되는 동적 Array로, 동기화 처리에 따른 성능이 떨어지기에 잘 사용하지 않는다. 2) ArrayList Array와 같은 구조로 이루어져 삽입/삭제 시에 Array의 복사로 처리한다. 그래서 중간 삽입이나 많은 삽입삭제 과정에 있어 성능이 저하된다. 그렇지만 Index를 통해 임의 접근은 성능이 우수하다. 3) LinkedList 다음 자료의 위치 정보를 통해 이어져있는 List이다. 삽입/삭제 시에 위치 정보만 수정하면 된다. 따라서 삽입/삭제가 많은 자료 ..
Java 추상클래스, 인터페이스 1. 추상클래스 자바의 추상클래스란 그 내용을 구체적으로 명시하지 않은 클래스를 뜻한다. 특정 메소드를 정의하지 않고 추상클래스를 상속하는 하위 클래스에서 이를 정의하도록 한다. 사용하는 이유는 간단하다. 클래스들에서 공통된 변수와 공통된 메소드를 필요로 한 상황에서 메소드는 구체적으로 내용이 다르게 정의되어야 할 경우 사용한다. 1) 필드와 메소드의 통일된 규격이 필요하고 이 규격 내에서 구체적으로 구현해야 하는 경우에 사용한다. 2) 실체 클래스 개발을 효율적으로 해야할 때 사용한다. // 추상클래스 public abstract class abclass{ // 공통 변수 int v1; int v2; // 추상메소드 public abstract void method1(); } // 실체클래스 class..
Java 오버로딩과 오버라이딩 Java에서 다형성(Polymorphism)을 지원하기 위한 대표적인 두 가지 방식인 오버로딩(Overloading)과 오버라이딩(Overriding). 비슷한 단어 때문에 헷갈려하곤 한다. 1. 오버로딩 오버로딩이란 특정 메소드를 같은 이름으로 매개변수 타입(자료형, 개수)만 다르게 하여 구성하는 것을 말한다. 참고로 반환형은 상관없다. 이러한 오버로딩은 생성자에도 적용되어 생성자 오버로딩도 가능하다(하나의 메소드로 볼 수 있기에). class Test{ public void method(void){ System.out.println("void 매개변수 메소드"); } public void method(int v1){ System.out.println(v1+ " int형 1개 매개변수 메소드"); } ..
Java 멤버 변수, 접근제어자 1. Java 멤버 변수 멤버 변수는 Class 내부에 선언이 되어있는 변수를 뜻한다. 이러한 멤버 변수는 다시 Class 변수와 Instance 변수로 구분을 한다. Class 변수는 해당 Class내에서 공유하는 변수를 뜻한다. 그래서 클래스가 메모리에 올라가는 시기에 생성이 되어 Class의 Instance로도 접근이 가능하며 Class 자체로도 접근이 가능하다. 반면에 Instance 변수는 클래스의 인스턴스 별로 따로 저장하는 변수를 뜻한다. 그래서 인스턴스가 생성되는 시기에 생성이 되어 Instance 들마다 따로 접근이 가능하다. 지역 변수는 메소드 내에서 유효한 변수이다. public class Member{ static int claVariable = 20; // 클래스 변수 int in..
Java 언어의 특징 1. Java와 C의 비교 1) 객체지향 vs 절차지향 Java는 객체지향언어(OOP)로 이루어져 Class 중심으로 코드를 동작되는 반면에 C는 절차지향으로 함수 중심의 절차에 따라 코드가 동작된다. 2) JVM의 유무 Java는 Virtual Machine(VM)위에서 동작되므로 플랫폼 독립적으로 코드가 동작할 수 있다. 3) Garbage Collection Java는 자동으로 Garbage Collection이 동작하여 빈 메모리를 비워주므로 개발자가 메모리 관리에 있어 편리함을 느낄 수 있는 반면에 C는 수동으로 Garbage Collection을 구성해야 한다. 4) 그 외 Unsigned int 지원 여부. Java는 Call-by-Value(reference도 참조값을 복사함). 2. Ja..
Java 자료형 자료형 자바의 자료형은 숫자(Number), 부울(boolean), 문자열(char, String), 스트링버퍼(String Buffer), 배열(Array), 리스트(List), 제네릭스(Generics), 맵(Map) 등이 있다. 1) 숫자는 우리가 흔히 쓰는 int, float, double, 8진수(0), 16진수(0x) 가 있다. 2) 부울은 boolean 으로 표현하며 실제 값은 true와 false 중 값을 대입한다. 3) 문자와 문자열은 char, String 으로 표현하며 사용한다. 이 때, String은 Immutable 객체로 변경할 수 없다. 이 때, 숫자와 부울, 문자는 원시자료형(Primitive)이라고 표현하는데 Java에서 상수(Literal) 값으로 바로 대입이 가능한 자료..
Chap 5. SQL 1) 자료형 문자열 데이터 to_date(‘값’, ‘YYYYMMDD’), date 형은 쓰기가 까다롭다 실기 문제에 나오지만 내가 사용할 수 있는 패턴 하나만 숙지하면 된다!! 참고) TIMESTAMP는 밀리세컨드 까지 커버가능(단, 시험x) TO_DATE('1994/12/22 13:00:00 PM', 'yyyy/mm//dd hh24/mi/ss pm'); TO_CHAR(start_date, 'dd-mm-yyyy hh24:mi:ss pm'); start_data + 1 // 1일 start_date + 1/24 // 1시간 start_date + (1/24)/60 // 1분 2) Statements 서로 참조하고 있는 Table에서 삭제하고 삽입하는 과정 어떻게 할 것인지 시험문제 출제!! 기본적으로 삭제..
Chap 3. Table Index & B+tree 1) Table Index https://woongsin94.tistory.com/189?category=730536 Oracle Table Index Oracle에는 테이블 인덱스의 대표적인 두 가지 형태가 있다. Heap-Oraganized Table(HOT), Index-Organized Table(IOT) 이다. 1. Heap-Oraganized Table(HOT) 오라클에서 사용되는 표준 데이터베이스 테이블. 레.. woongsin94.tistory.com 기본 제공 Index는 Degree 4인 B+tree IOT는 그 어느 위치에 존재하는 지 내용 까지도 함께 표시됨(rid) Secondary Index는 Degree 3인 B+tree 2) B+tree https://woongsin94.ti..