본문 바로가기

멘토씨리즈 자바26

[부록 1] JDBC와 데이터베이스 프로그래밍 01. 데이터베이스와 DBMS 1. 프로그램을 사용하기 위해서는 데이터가 필요하다. 데이터들을 파일 또는 문서화여 저장해서 사용할 때, 파일 관리 시스템(File Management System) 을 사용할 수 있다. 근데, 이 파일 관리 시스템은 프로그램마다 별도의 파일을 만들어서, 독립적으로 데이터를 관리하므로 같은 내용의 데이터가 서로 다른 업무의 파일에서 중복으로 저장되어서 프로그램 간의 데이터 공유가 어렵다는 단점이 있다. 2. 데이터베이스 (Database, DB)는 이러한 위의 단점을 보완하여, 서로 데이터를 공유해 사용할 목적으로 데이터를 한곳에 통합하여, 관리하는 데이터의 집합을 의미 한다. 이러한 데이터베이스를 효율적으로 관리하고 운영할 수 있도록 만든 소프트웨어 시스템을 DBMS (D.. 2023. 6. 11.
[핵심정리] 컬렉션 프레임워크 SECTION 16 - 컬렉션 프레임워크 444 page. 1. 컬렉션 프레임워크 : 컬렉션 프레임워크는 데이터를 다룰 때 사용되는 주요 자료구조를 말한다. 컬렉션은 기존의 List, Map, Set 등의 자료 구조를 뜻하고, 프레임워크는 클래스와 인터페이스를 묶어 놓은 개념이다. 2. List 컬렉션 : 배열과 비슷하게 index로 객체를 관리한다. 다만, 배열과는 다르게 크기의 제한이 없다 ! 삽입, 삭제, 변경의 기능도 자유롭다 ! List에는 대표적으로 ArrayList와 LinkedList가 있다. 3. ArrayList : 데이터를 순차적으로 저장하는 특징을 가진다. 데이터가 삽입될 때마다 크기가 자동으로 증가하고, 배열을 삭제하면 공간이 줄어든다. index를 기준으로 값을 삽입하거나 추출한.. 2023. 6. 4.
[핵심정리] 예외처리 SECTION 14 - 예외처리 376 page. 1. 예외처리 : 프로그램 구동 중에 예외가 발생했을 경우, 프로그램의 갑작스러운 종료를 막고 정상 동작할 수 있도록 처리하는 과정을 말한다. 2. Error / Runtime Error : 프로그램에서의 오류는 Error와 Runtime Error가 있다. Error는 수습할 수 없는 치명적인 오류를 의미. Runtime Error는 예측할 수 있고 처리 가능한 오류를 의미한다. 3. try-catch : 예외 처리는 try-catch 구문을 사용한다. try 영역에서는 예외가 발생할 수 있는 코드를 입력하며 catch 영역에는 발생 예상되는 예외 클래스를 매개변수로 선언하여, 예외 발생 시 처리할 코드를 입력한다. 4. catch 구문은 여러 개 사용.. 2023. 6. 4.
[핵심정리] 다형성과 타입 변환 SECTION 11 - 다형성과 타입 변환 299 page. 1. 타입 변환 : 자바에서는 다음과 같이 두 가지의 대표적인 타입 변환이 있다. 1) 자료형(타입) 변환 2) 클래스의 객체 타입 변환 ( == 참조변수의 형변환) // 클래스의 타입 변환은, 상속 관계의 클래스들 간에서만 가능하다. 2. 클래스 자동 타입 변환 : 개발자가 직접 명시해주지 않아도 자동으로 타입 변환이 일어나는 것을 클래스 자동 타입 변환이라고 한다. 상속 관계에 있는 자식 클래스의 객체를 부모 타입의 객체로 변환한다. (묵시적 형변환) == 업 캐스팅 3. 클래스 강제 타입 변환 : 자식 객체가 부모 타입으로 자동 타입 변환을 한 후, 다시 자식 타입으로 변환하는 것을 강제 타입 변환이라고 부른다. 개발자가 직접 명시해야만 .. 2023. 6. 2.
[핵심정리] 상속 SECTION 10 - 상속 272 page. 1. 상속 : 부모 (역할을 하는) 클래스가 자식 (역할을 하는) 클래스에게 클래스 멤버를 물려주는 것을 상속 이라고 한다. 클래스 멤버는 클래스 변수와, 클래스 메서드를 의미한다. 2. 자식 클래스 선언 : extends 키워드를 사용해 상속받을 클래스를 지명할 수 있다. 자식 클래스는 부모 클래스의 모든 멤버를 그대로 가져다 쓸 수 있다. class A {//부모 클래스는 자식 클래스에서 지명받기 전에는 부모 클래스 역할을 하지 않는다. ... } class B extends A {//B 클래스에서 extends A를 작성함으로써 A는 B의 부모 클래스가 된다. ...//반대로 B 클래스는 A 클래스의 자식 클래스가 된다. } 3. super() : 자식.. 2023. 6. 2.
[핵심정리] 생성자 SECTION 09 - 생성자 243 page. 1. 생성자 : 클래스를 구성하는 구성요소 중 하나인 생성자는 객체를 생성할 때 호출되어 객체의 초기화를 담당하는 특별한 메서드 이다. 2. 생성자의 기본 구조 : 생성자는 일반 메서드와 달리 반환 타입이 없다. 메서드 이름은 클래스 이름과 동일 하다. 클래스명 (매개변수1, 매개변수2, ...) { } 3. 생성자 호출 : 생성자를 호출할 때는 new 키워드를 함께 사용한다. 클래스명 객체명 = new 클래스명(); 4. 생성자 오버로딩 : 매개변수의 개수와 자료형의 형태를 달리하여 생성자를 여러 개 선언할 수 있는데, 이를 생성자 오버로딩 이라고 합니다. 5. this : this 키워드로 객체 자기 자신 스스로를 참조할 수 있다. 따라서 필드 (멤버변.. 2023. 6. 2.
[핵심정리] 메서드 SECTION 08 - 메서드 223 page. 1. 메서드 : 메서드란, 클래스 안에서 특정 기능을 수행하기 위해 코드들을 하나의 블록으로 따로 묶어 놓은 집합을 말한다. 메서드를 구현함으로써 특정 기능이 여러번 필요할 때, 코드를 반복적으로 사용하는 것을 피할 수 있다. == 모듈화. 2. 메서드의 기본 구조 : 메서드는 매개변수 (Parameter)를 받아서 블록 안에서 사용할 수 있다. 접근 제한자 반환 타입 메서드 이름(자료형 변수명1, 자료형 변수명2 ...) { // 기능을 수행할 코드들 } 3. 메서드 호출 : 메서드는 또 다른 메서드에서 호출되어 사용이 가능하다. 메서드가 있는 클래스 참조변수 = new 클래스(); 참조변수.메서드 이름(); (단, 같은 클래스에 있는 메서드를 호출할 때.. 2023. 6. 1.
[핵심정리] 클래스 SECTION 07 - 클래스 198 page. 1. 객체 지향 프로그래밍 : 객체는 일반적으로 상태를 표현할 수 있으며 행동으로 실행할 수 있는 모든 것을 말한다. 이러한 객체를 중심으로 프로그램 구조를 설계하고 프로그래밍 하는 것을 객체 지향 프로그래밍 이라고 한다. 2. 클래스 : 클래스는 한마디로 객체를 생성하기 위한 제작 설명서. 3. 클래스의 선언 : 접근 제한자 class 클래스 이름 { ... } 4. 클래스를 구성하는 3가지 요소 : 1) 필드(field) : 객체가 가져야 할 데이터, 상태를 저장하는 변수 2) 메서드(method) : 객체의 특정 기능을 수행하는 코드 블록 3) 생성자(constructor) : 객체를 생성하면서 객체 변수를 초기화 하는 역할(기능)을 하는 메서드 5... 2023. 5. 30.
[응용문제] 추상클래스와 인터페이스 SECTION 12 - 추상클래스와 인터페이스 330 ~ 331 page. 1. 다음 빈칸에 알맞은 단어를 작성해 보세요. 1) 구현 내용이 없이 비어있는 메서드를 _____ (이)라고 부릅니다. 2) 위 메서드를 선언할 때는 _____ 키워드를 사용해야 합니다. 3) 이러한 메서드를 1개 이상 가지고 있는 클래스를 _____ 클래스라고 부릅니다. => 1) 추상메서드 2) abstract 3) 추상 2. 다음 코드는 컴파일 에러가 발생합니다. 컴파일 에러가 발생하는 곳을 모두 찾아 수정해 보세요. package section12; abstract class Bike { int wheel; Bike(int wheel) { this.wheel = wheel; } void info() { sysout("이 .. 2023. 5. 30.