[java/DB] java에서 DB 데이터 INSERT, SELECT, DELETE (삽입,출력,삭제) 하기 '[java/DB] java에서 DB 데이터 읽어오기' (https://januarysecurity.tistory.com/42) 에 있는 DB 데이터 (Question2)를 사용합니다. DB에 테이블, 데이터 꼭 삽입해주세요. DBConnection_maria.javapackage acorn.conn; import java.sql.Connection; //접속 정보를 담고 있는 클래스import java.sql.DriverManager;//Drivermanagerimport java.sql.SQLException;//sql 쿼리의 예외처리를 위한 import public class DBConnec..
일단, DB에서 Question2 데이터베이스를 생성합니다. 그 후, 다음과 같이 테이블과 데이터를 추가합니다. Question2 CREATE TABLE `user` (`userID` CHAR(3) NOT NULL,`name` VARCHAR(10) NOT NULL,`birthYear` INT(4) NOT NULL,`addr` VARCHAR(4) NOT NULL,`mobile1` VARCHAR(3) NULL DEFAULT NULL,`mobile2` VARCHAR(8) NULL DEFAULT NULL,`height` INT(3) NOT NULL,`mDate` DATE NOT NULL,PRIMARY KEY (`userID`))COLLATE='utf8_general_ci'ENGINE=InnoDB; insert ..
예외처리 전 포스팅에서는 예외에 대해서 포스팅했다.그렇다면 프로그램의 비정상적인 종료를 막고, 그런 예외상황을 처리하기 위해서는 어떻게 해야할까?바로 예외처리코드를 작성해야한다. 예외처리 코드는 try-catch-finally 블록을 이용하여 작성한다.try-catch-finally 블록의 구조는 다음과 같다. try[ //예외 발생 코드 } catch (예외 클래스 e) { //예외가 발생했을 때, 처리방법 } finally { //항상 실행할 코드 } try-catch 블록은 예외가 발생할것 같은 코드를 드래그한 후, 마우스 오른쪽 버튼을 클릭 -> Surround With -> try/catch block을 선택하여 쉽게 작성할 수 있다. 코드를 작성하다보면, 여러가지 예외상황이 발생한다.즉, tr..
에러(Error)와 예외(Exception) 우리는 보통 하드웨어의 오동작, 고장으로 인해 실행 오류가 발생 할때, 에러(error)가 났다고 표현한다.개발자는 이러한 에러에 대처할 방법이 전혀 없다.그러므로 우리는 에러와 예외를 잘 구분해야만 한다. 예외란 사용자의 잘못된 조작 및 개발자의 잘못된 코딩으로 인해 발생하는 프로그램 오류이다.예외가 발생되면, 에러와 동일하게 프로그램은 공 종료된다.하지만, 예외는 예외처리를 통하여 프로그램이 비정상적인 종료가 아닌, 정상적인 실행이 가능하게 만들 수 있다. 예외는 두 종류가 있다.일반 예외(Exception)과 실행 예외(Runtime Exception)이다. 1. 일반 예외 (Exception) 일반 예외는 컴파일러 체크 예외라고도 불리운다.자바 소스를 ..
ArrayList와 Iterator를 이용한 성적관리 프로그램 Z7_sungjuk.java import java.util.Comparator; public class Z7_sungjuk implements Comparable, Comparator{String name;int kor;int eng;int math;int total;double avg;int highScore;int lowScore;public Z7_sungjuk() {}public Z7_sungjuk(String name, int kor, int eng, int math) {this.name = name;this.kor = kor;this.eng = eng;this.math = math;}public String lastToString()..
인터페이스의 타입변환 및 상속 인터페이스는 클래스와 마찬가지로 상속이 가능하다.클래스와 달리 인터페이스는 다중 상속이 가능하다. 다음은 인터페이스 상속의 예이다. Person.javapublic interface Person {public void setName(String name);public String getName();} Gender.javapublic interface Gender {public void setGender(boolean male);public String getGender();} Student.javapublic interface Student extends Person, Gender{public void setSchool(String school);public String g..
익명 구현 객체 (Anonymous class) 우린 객체를 생성할 떄 마다, 늘 클래스를 하나씩 생성했다.하지만 한번쓰고 버릴객체 객체 전부를 클래스형태로 만들면 소스파일들이 너무 많아질 뿐 아니라, 매우 비효율적이다.그 비효율성을 개선하기 위해 자바에서 제공하는 것이 바로 '익명 구현 객체'이다. 익명 구현 객체는 한번 쓰고 버릴 일회용 객체라고 생각하면 편리하다.익명 구현 객체는 UI 프로그래밍에서 매우 많이 활용되므로, 코드를 잘 익혀두어야 한다. 익명 구현 객체는 인터페이스가 존재해야 사용가능하다.익명구현 객체 구조는 다음과 같다. 인터페이스 변수이름 = new 인터페이스() { //메소드 }; 익명구현 객체는 선언과 동시에 실행된다.즉, 익명구현 객체는 선언문이자 실행문이므로, 끝에 세미콜론을..
Mail Clilent.java import javax.net.ssl.*;import javax.xml.bind.DatatypeConverter;import java.io.*;import java.net.Socket;import java.util.Base64;import java.util.Base64.Decoder;import java.util.Scanner;import static java.lang.System.exit; public class mailClient { private int imapPort=993; // ssl/tls 지원 imap port number private int smtpPort=465; // ssl/tls 지원 smtp port number private String imap..
인터페이스(Interface) JAVA에서 인터페이스는 객체의 사용 방법을 정의한 타입이다.일상생활으로 치면 일종의 가이드라인이라고 볼 수 있다.일전에 추상클래스를 설계도라고 표현한 적이 있는데, 인터페이스도 동일한 역할을 한다.추상클래스는 추상클래스는 상속으로 추가할 수 있으며, 단일상속만 가능하다.하지만, 인터페이스는 다중상속이 가능하다는 것이 추상클래스와 인터페이스의 가장 큰 차이점이다. 인터페이스는 개발 코드와 객체가 서로 통신하는 접점 역할을 하고 있다.즉, 객체에서 메소드들의 이름과 매개변수들을 미리 저장해놓고 있다가 개발코드에게 어떤 메소드가 필요한지, 해당 기능을 하는 메소드의 이름은 무엇인지를 알려주는 역할을 한다. 그러므로, 인터페이스를 사용하게 되면, 코드의 표준화가 가능하다.즉, 같..
추상클래스(Abstract Class) 클래스는 객체를 직접 생성할 수 있는 실체 클래스와 추상 클래스가 존재한다.우리가 만들어왔던 클래스는 전부 실체 클래스이다.그럼 추상클래스는 무엇일까? 실체 클래스는 실체 클래스들의 공통 특성을 추출해서 선언한 클래스이다.추상클래스와 실체 클래스는 상속의 관계를 가지고 있으며( 추상클래스 - 부모 / 실체 클래스 - 자식 ), 실체 클래스는 추상 클래스의 모든 특성을 물려받고, 추가적인 필드와 메소드를 가질 수 있다. 추상 클래스는 실체클래스의 설계도와 같은 역할을 한다.그러므로 추상 클래스는 객체를 직접 생성하지는 못한다.즉, new 연산자를 사용하여 인스턴스를 생성시키지 못한다는 것이다. 추상 클래스는 다음과 같은 방법으로 선언한다. public abstract..