전체 글 422

Chapter 11 컬렉션 프레임웍(Collection Framework)

1. 컬렉션 프레임웍 (Collection Framework) 컬렉션: 여러 객체(데이터)를 모아 놓은 것 프레임워 = 라이브러리(기능) + 프로그래밍 방식 프레임워크: 표준화, 정형화된 체계적인 프로그래밍 방식 컬렉션 프레임워크: 데이터 군을 저장하는 클래스들을 표준화한 설계 컬렉션(다수의 객체)을 다루기 위해 표준화된 프로그래밍 방식 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스 제공 1.1 컬렉션 프레임웍의 핵심 인터페이스 List: 순서가 있는 데이터의 집합, 데이터 중복을 허용 Set: 순서를 유지하지 않는 데이터의 집합, 중복 허용하지 않는다. ex) HashSet, TreeSet Map: 키 - key(중복 허용하지 않는다.)와 값-value(중복 허용)이 쌍으로 이루어진 데이터의집합 ..

Java/Java의 정석 2022.03.02

Chapter 04 DML : 단일테이블 검색문(Part 1)

- 관계 대수 연산자 1) 집합연산자 2) 순수관계 연산자: 셀렉트(WHERE), 프로젝트(SELECT), 조인 3) 확장된 관계 연산자: 외부조인 / 그룹연산/ 통계연산 / 작명연산 - SQL DML(Data Manipulation Language) 1) 검색: SELECT문 2) 갱신: INSERT문/ DELETE문/ UPDATE문 1. SELECT문 -> SELECT - (FROM) - WHERE 구조 -> SELECT절: 관계대수의 프로젝트 연산자 -> FROM절은 표준SQL, Oracle에서 생략불가 (MySQL, SQL server은 가능) (1) SELECT문 실행순서 FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY - SELECT문 종..

Chapter 03 스키마와 테이블 정의를 위한 명령문

1. SQL(Structured Query Language) - SQL표준의 역사 - 표준 -> 국가표준: 강제적 사용가능 -> 국제 표준: 사용 권고 (recommadation) -> 국제 표준이 국가 표준으로 채택되어야 강제적 적용이 가능 -> 제조사별로 SQL문 법의 차이는 적어지고 있으나 데이터 유형과 내장함수는 아직 차이가 많다. -> SQL표준의 100%를 지원하는 제품은 없다. (보통, 80~90%) - DBMS 응용 프로그램 개발 팁 -> 이식성이 보장된 응용프로그램 작성한다. -> 표준 기능과 특정 제품 고유의 기능(사용 자제)을 구별한다. - SQL 데이터 타입 1) 숫자형 2) 문자형: CHAR(n) - 고정 길이 문자형, VARCHAR(n) - 가변길이 문자열(varying char..

Chapter 10 날짜와 시간 & 형식화 date, time and formatting

1.날짜와 시간 1.1 Calendar 와 Date - Date -> Calendar(오래 쓰다가 바뀜) -> time - 실무에서는 아직 Calendar을 쓰기도 한다. - Calendar 클래스 -> 추상 클래스(인스턴스 생성 불가)이므로 getInstance() - (static)를 통해 구현된 객체를 얻어야 한다. - Calendar 클래스 - Date와 Calendar 간의 변환 -> Date의 메서드는 대부분 'deprecated-더 이상 사용을 권장하지 않음.'되었지만 여전히 사용한다. "하위 호환성" - 컴퓨터는 항상 시간을 정수로 저장한다. - clear(int field)는 Calendar 객체의 모든(특정) 필드를 초기화한다. -> 1970년 1월 1일 00:00:00 (EPOCH T..

Java/Java의 정석 2022.02.28

[1주차] 강의노트 RDB & ERD

2022-02-26 프로그래머스 1주차 강의 0. 지난 과제 리뷰(Ch 01 관계 대수) - 셀렉트를 먼저하고 JOIN을 나중에 해야 프로그램의 속도를 높여 최적화시킬 수 있다. - 무결성 제약 특징 중요하다. - 한 식에 조인의 개수가 적을 수록 좋다. - 같은 속성에 대한 조건이 두 개이면 한 번에 쓰는 게 아니라 두 식의 교집합으로 나타낼 수 있다. -> 왜냐하면 한 개의 투플에 속성의 값이 하나씩 있기 때문이다. - SQL은 접해본 적이 있어서 이해가 갔는데 관계대수식이라는 것은 처음 봤다. - 관계대수식를 바탕으로 SQL을 작성한다는 것을 알았다. - 기본키와 외래키에 대한 개념은 컴활을 공부해서 알고 있는 내용이라 어렵지 않았다. - 그런데 조인에 대한 내용에 대해서 프로젝트, 셀렉트, 조인을..

Chapter 09 java.lang 패키지와 유용한 클래스

1. java.lang 패키지 (Java language) - 가장 기본이 되는 클래스들 포함 (import문이 필요없이 사용 가능) Ex) String, System, ... (를 import없이 사용) 1.1 Object 클래스 - 모든 클래스의 최고 조상, 오직 11개의 메서드만을 가진다. -> Object클래스의 멤버(멤버변수는 없고 메서드만있음)들은 모든 클래스에서 바로 사용가능하다. - notify(), wait() 등은 쓰레드와 관련된 메서드이다. - protected => public으로 바꿔야 오버라이딩 할 수 있다. (안 하면 같은 패키지에서만 쓸 수 있다.) - 리플렉션 API 1) equals(Object obj) - 객체 자신(this)과 주어진 객체(obj)를 비교한다. 같으면 ..

Java/Java의 정석 2022.02.24

Chapter 08 예외처리 Exception Handling

1. 예외처리(Exception Handling) Def) 예외: 컴파일도 되고 실행도 되지만 의도와 다른게 동작하는 것 1.1 프로그램 오류 - 컴파일 에러: 컴파일 시에 발생하는 에러 ex) system.out.println(); => 오류 - 런타임에러: 실행 시에 발생하는 에러 - 논리적 에러: 실행되지만, 의도와 다르게 동작하는 것 - 에러와 예외 차이 -> 에러: 코드에 의해 수습될 수 없는 심각한 오류 -> 예외: 코드로 수습할 정도의 미약한 오류(실행 잘 되지만 의도와 다르게 동작) - 예외처리의 정의, 목적 Def) 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 - 목적: 비정상 종료를 막고, 정상적 실행상태를 유지한다. 1.2 예외 클래스의 계층구도 - 모든..

Java/Java의 정석 2022.02.23

Chapter 07 객체지향 프로그래밍 II

1. 상속(Inheritance) 1.1 상속의 정의와 장점 Def) 상속: 기존의 클래스를 재사용해서 새로운 클래스를 작성하는 것 - 코드의 중복 제거, 생산성 향상, 유지 보수에 기여한다. - 'extends' 키워드 사용 - 두 클래스는 조상 - 자손 클래스 관계를 맺는다. - 자손은 조상의 "모든 멤버"를 상속 받는다. (멤버 - 멤버 변수나 메서드만 상속) - 생성자와 초기화 블럭은 상속되지 않는다. - 자손의 멤버 개수는 조상보다 적을 수 없다. (클래스는 멤버들의 집합) -> 조상 클래스: 부모(parent)클래스, 상위(super) 클래스, 기반(base) 클래스 -> 자손 클래스: 자식(child)클래스, 하위(sub) 클래스, 파생된(derived) 클래스, 유도 클래스 Ex) clas..

Java/Java의 정석 2022.02.22

Chapter 06 객체지향 프로그래밍 I

1. 객체지향언어 - 코드의 재사용성 높음 - 유지보수가 쉽고 중복 코드 제거, 빠른 변화를 쫓아간다. - 객체지향언어 = 프로그래밍 언어 + 객체지향개념(규칙) .. 규칙은 외우기 - 핵심 개념 (자바의 대표적인 4가지 특징) 1) 캡슐화(Encapsulaion): 객체와 객체간의 의사소통을 위해 필요한 정보만을 노출한다. (실제 내부의 구현 정보는 숨긴다.) 2) 상속(Inheritance): 상위 클래스와 하위 클래스가 계층적인 구조를 가진다. 상위 클래스의 공통된 특성을 하위클래스만다 반복 없이 한 번만 기술한다. 재사용성의 효과가 있다. 3) 추상화(Abstraction): 실세계의 객체에서 필요한 부분만을 간결하고 이해하기 쉬운 클래스로 만든다. (속성과 행동으로 구체화) 4) 다형성(Polu..

Java/Java의 정석 2022.02.22

Chapter 05 배열(Array)

1. 배열(Array) 1.1 배열이란? Def) 배열: 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것을 배열이라고 한다. 1.2 배열의 선언과 생성 - 선언 방법 -> 타입[] 변수이름 ex) int[] score; String[] name -> 타입 변수이름[] ex) int score[]; String name[] - 배열의 생성 -> 변수이름 = new 타입[길이] // 배열을 생성(실제 저장공간을 생성한다.) - 배열의 선언과 생성을 동시에 할 수 있다. int score = new int[5]; 1.3 배열의 길이와 인덱스 - 인덱스의 범위는 0부터 '배열 길이 -1'까지 - 인덱스 0부터 시작한다. - 배열의 범위에 속하지 않는 값을 인덱스로 하여 출력하도록 하면 "ArrayIndexO..

Java/Java의 정석 2022.02.20