Programming Language 147

[JDBC] 개요 - 사용 객체, 처리 절차

JDBC(Java Database Connectivity) : Java에서 데이터베이스에 접근할 수 있게 해주는 Programming API이다. - java.sql 패키지를 사용한다. JDBC 사용 객체 (1) DriverManager : 데이터 원본에 JDBC Driver를 통하여 Connection을 만드는 객체이다. ① Class.forName()을 통해 생성되며 반드시 예외 처리를 해야 한다. ② DriverManager 클래스의 getConnection()을 사용하여 객체를 생성한다. 이때, Connection 객체 생성 시에 직접 객체 생성이 불가능하다. (2) Connection : 데이터베이스의 연결 정보를 담고 있는 객체이다. (IP주소, PORT번호, 계정명, 비밀번호) ① State..

[JDBC] Java와 Oracle SQL Developer 연동하기

Oracle SQL Developer를 Eclipse와 연동하기 ① ojdbc6.jar를 다운받아 해당 파일을 사용할 java workspace로 옮겨준다. ☞ https://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html ② Eclipse를 열고 상단 메뉴바에서 Project - Properties - Java Build Path - Libraries - Add External JARs - ojdbc6.jar ③ Package Explorer에서 Referenced Libraries에 ojdbc6.jar이 생성돼있어야 한다. ④ 문자 인코딩 방식을 UTF-8로 일치시켜야 한다. Window - Preferenc..

컬렉션(Collection) (2) - 제네릭(Generic), HashSet, HashMap, Properties, 정렬

1. 제네릭(Generic)    : 컬렉션 안에서 다룰 타입들을 미리 지정해준다. ex) , , 등     객체를 형변환할 필요가 없으며 사용하고 싶은 타입만 지정해주면 된다.   ⇒ 제네릭을 으로 지정하면 반환되는 객체(Object)는 Music이 된다.   ⇒ 별도의 제네릭을 제시하지 않고 컬렉션 객체를 생성하면 기본 타입이 Object이다.  (1) 제네릭을 사용하는 이유   ① 저장할 타입에 제한을 두기 위해서 사용한다.   ② 매번 형변환하는 절차를 없애기 위해 사용한다.  (2) 컬렉션 생성 시 제네릭을 설정하는 형식ArrayList list = new ArrayList();  (3) 예시ArrayList list = new ArrayList();// 값을 추가하는 방법// 1)list.a..

컬렉션(Collection) (1) - 컬렉션, ArrayList

1. 컬렉션(Collection) : 자료구조가 내장되어 있는 클래스로, Java에서 제공하는 자료구조를 담당하는 프레임워크이다. ⇒ 간단히 말해, 데이터들을 추가 및 삭제, 수정하는 기능들을 이미 정의해놓은 틀이라고 할 수 있다. *자료구조: 데이터를 효율적으로 다룰 때 필요한 개념 프레임워크: 기능들이 이미 정의돼 있는 틀 (1) 컬렉션을 사용하는 이유 ① 배열을 사용했을 때 ⓐ 타입의 종류가 하나인 데이터만 저장할 수 있다. ⓑ 배열을 사용하려고 할 때엔 배열의 크기를 먼저 지정해야 한다. → 한 번 지정된 배열의 크기는 변경할 수 없다. 그래서 새로운 값을 추가함으로 인해 배열 크기를 늘려야 할 경우 배열을 그 크기에 맞게 새로 만들어야 한다. ⓒ 배열의 중간 위치에 데이터를 추가 및 삭제하는 경..

사용자에게 영화 메뉴를 입력받아 실행하기

// Movie 클래스 public class Movie { private String title; // 영화 제목 private String opening; // 상영 시작일 public Movie() { // 기본 생성자 super(); } public Movie(String title, String opening) { // 매개변수 생성자 super(); this.title = title; this.opening = opening; } public String getTitle() { // getter/setter 메소드 return title; } public void setTitle(String title) { this.title = title; } public String getOpening()..

입출력(IO) - 분류, 종류, 바이트스트림, 문자스트림, buffered 스트림, 객체 스트림

1. 입출력(IO) : Input & Output의 약자로, 컴퓨터 내외부 장치와 프로그램 사이에 데이터를 주고 받는 것을 뜻한다. 입출력을 위해 스트림을 이용한다. 2. 스트림(Stream) : 데이터를 입출력 장치에서 읽고 쓰기 위해 Java에서 제공하는 클래스 모든 스트림은 단방향이고, 하나의 스트림으로 입출력을 동시에 할 수 없어 2개의 스트림으로 동시에 수행해야 한다. (1) 분류 ① 최상위 클래스 ⓐ 바이트 스트림 - 입력 스트림: InputStream - 출력 스트림: OutputStream ⓑ 문자 스트림 - 입력 스트림: Reader - 출력 스트림: Writer ② 하위 클래스 ⓐ 바이트 스트림 - 입력 스트림: XXXInputStream - 출력 스트림: XXXOutputStream ..

예외 처리해보기

1. ArithmeticException 클래스 : 0으로 나눴을 때 예외 발생 // ArithmeticException // 사용자에게 정수값 2개를 입력받아 나눗셈 출력하기 public void arith() { Scanner sc = new Scanner(System.in); // 스캐너로 입력받기 System.out.println("num1: "); int num1 = sc.nextInt(); // 첫 번째 정수 num1 System.out.println("num2: "); int num2 = sc.nextInt(); // 두 번째 정수 num2 // 조건문(if문)으로 처리하기

예외 처리(Exception)

1. 에러(Error, =오류) : 프로그램을 수행할 때 치명적인 상황이 발생하여 비정상적인 종료 상황이 발생한 것을 프로그램 에러라고 한다. (1) 종류 ① 논리 에러 : 소스코드 상의 문법적 오류가 없고, 프로그램을 실행했을 때에도 문제가 없지만 프로그램의 의도상 맞지 않을 때 발생하는 에러(기획과 설계가 잘못됨) ② 시스템 에러 : 컴퓨터의 오작동으로 인해 발생하는 에러이며, 소스코드로 해결되지 않는다.(심각한 에러) ③ 컴파일 에러 : 프로그램을 실행하기 전에 소스코드 상의 문법적인 문제로 발생하는 에러이며, 소스코드를 수정하여 해결한다. ④ 런타임 에러 : 프로그램을 실행하는 도중에 발생하는 에러이며, 소스코드 상의 문제가 없음에도 발생한다.(사용자의 잘못으로 발생하거나 개발자가 경우의 수를 처..

Java API

1. API(Application Programming Interface) : 응용 프로그램에서 사용할 수 있도록 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 * Java 8 버전 API - API는 Oracle에서 제공하고 있다. 필요한 것들은 여기서 찾으면 된다. ☞ https://docs.oracle.com/javase/8/docs/api/ 2. Math 클래스 (1) 특징 ① 수학과 관련된 기능들이다. → 형식: Math.사용할기능 ② 모든 필드와 메소드가 전부 static으로 되어 있다. → static 생략이 가능하고 생성자는 private이며, 객체 생성이 필요 없다. ③ java.lang 패키지 안에 존재한다. (2) π(파이) : Math.PI System.out.p..

상속과 인터페이스를 통해 휴대폰에 필요한 기술들을 제원으로 출력하는 프로그램을 작성하기

// Phone 클래스(interface) public interface Phone { // public static final 생략 가능(어차피 상수 필드이므로) char[] NUMBERPAD = {'1', '2', '3', '4', '5', '6', '7', '8', '9', '*', '0', '#'}; // 추상 메소드 /*public abstract*/ String makeCall(); // 전화 걸기 String takeCall(); // 전화 받기 // public abstract 생략 가능(interface이므로) } // Camera 클래스(interface) public interface Camera { String picture(); // 촬영 방식 추상메소드 } // CellPhone..