Code Archive 87

strategy pattern(스트래티지 패턴)

strategy pattern(스트래티지 패턴) 알고리즘군을 정의하고 각각을 캡슐화하여 교환하여 사용할수 있도록 만들어 기존 클래스와는 독립적으로 알고리즘 변경이 가능하다. 예제 코드>1. Car 클래스속성 : speed - double(차량의 속도를 저장할 변수), gear - int(기어값을 저장할 변수)기능 : onAccel(), onBreak(), changeGear()onAccel() : 차량 속도를 올리는 메서드onBreak() : 차량 속도를 줄이는 메서드changeGear() : 기어 변경 메서드 - Car.javapackage com.strategy.test; public class Car {private static final int MAX_SPEED = 250;private doubl..

Code Archive/ETC 2014.09.17

Step16. 채팅 프로그램

서버가 하는 일1. 서버 오픈2. 클라이언트 접속을 받음3. 클라이언트가 전송한 내용을 받아서 다시 접속해 있는 모든 클라이언트에게 전송 클라이언트가 하는일1. 서버 접속2. 메세지 내용 입력 후 서버 전송3. 서버로부터 온 메세지 출력 각각의 서버와 클라이언트가 하는 일을 보면 동시에 입출력은 불가능하므로 스레드를 이용하여 각각 동시에 일을 진행할 클래스를 작성한다. Server 클래스 : 서버 오픈, 클라이언트 접속 받음, ServerWorker 객체를 저장ServerWorker 클래스 : 접속 중에 있는 어느 클라이언트가 보낸 내용을 현재 객체에 연결된 클라이언트에게 전송Client 클래스 : 서버 접속, 서버로부터 온 메세지 화면에 출력ClientWorker 클래스 : 메세지를 입력 받은 후 서버..

Code Archive/JAVA 2014.09.12

json.jar 만들기

1. http://www.json.org/ 에 접속2. 밑에 java하위에 org.json. 클릭3. Free source code is available. 클릭해서 github 접속4. 오른쪽에 download zip 클릭 후 압축파일 다운5. 압축을 푼후 readme 파일을 제외한 모든 파일과 zip폴더 복사6. 이클립스에서 자바 프로젝트 생성후 src에서 org.json패키지 생성 후 해당 패키지에 붙여넣기7. 해당 프로젝트 오른쪽 클릭 후 export 선택8. java->jar file 선택 후 next9. jar file : 에서 경로 선택 후 파일명 입력 후 finish 클릭

Code Archive/ETC 2014.09.12

Step17. 기본 SQL

--테이블 작성create table person( name varchar2(20), age number); --데이터 삽입insert into PERSON values('남상규',29);insert into PERSON(name,age) values('철수1',21);insert into PERSON(name,age) values('철수2',22);insert into PERSON(name,age) values('철수3',23);insert into PERSON(name,age) values('철수4',34);insert into PERSON(name,age) values('철수5',35);insert into PERSON(name,age) values('철수6',46); --데이터 출력select *..

Code Archive/JAVA 2014.09.12

Step14. Socket 프로그래밍

소켓 프로그래밍 기본 패턴1. 소켓 오픈2. 데이터 전송 및 받을 스트림 생성3. 데이터를 전송 및 받음4. 소켓 닫기 --서버측 소스코드package step1; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.ServerSocket;import java.net.Socket; public class TestServer { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO..

Code Archive/JAVA 2014.09.12

Step13. 객체 직렬화(Object Serialization)

** 객체 직렬화(Object Serialization) **객체를 바이트 단위의 스트림으로 처리하여 외부에 전송하는 기술** 객체 역직렬화(Object Deserialization) **외부에 저장된 데이터를 다시 객체로 복원하는 것. ** 객체 직렬화를 하는 이유class를 인스턴스화되면 객체는 힙영역에 구조적으로 데이터가 적재되 있는데 이상태로는 파일에 쓸수 가 없어 객체를 직렬화를 시켜준다. 객체 직렬화를 위해서는 해당 객체가 만들어지는 클래스에서java.io.Serializable interface(maker interface 계열) 를 implements 해야 직렬화가 가능하다! Person p=new Person();// 만약 Person 이 implements Serializable 했다면..

Code Archive/JAVA 2014.09.12

Step12. Stream, 파일 입출력

** 노드 스트림과 프로세스 스트림 노드 스트림 : 물리적으로 직접 연결만된 스트림프로세스 스트림 : 노드 스트림으로 연결된 것을 가지고 부가적인 기능 수행 - 입출력 스트림 스트림은 데이터가 이동하는 통로라고 생각하면 된다. Stream으로 끝나면 8bit -> 영문까지 지원Reader, Writer로 16bit 지원 -> 한글, 한자 등등 기타언어 지원 노드 스트림 : 물리적으로 하드웨어와 연결되는 스트림프로세스 스트림 : 노드 스트림을 가지고 부가적인 기능을 수행하는 스트림 -텍스트 파일 읽기 import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOExcept..

Code Archive/JAVA 2014.09.12

Step11. Exception(예외처리)

**Exception 처리(예외 처리)**compile error : 컴파일 시 발생하는 에러Exception , Error : 실행시 발생하는 예외 및 에러 프로그램 수행시 Exception이 발생해도 강제 종료되지 않게 적절하게 대처하여프로그램을 정상적으로 수행하도록 한다. -Exception 문법 -try : Exception 발생예상 지점 블럭catch : Exception 처리 ( Exception 예외에 대한 대안 ) finally : Exception 발생시 catch 여부와 상관없이 항상 수행 throws : Exception 을 호출한 곳으로 던지는 keywordthrow : Exception 을 고의로 발생시킬 때 사용하는 keyword 사용자 정의 Exception classclass..

Code Archive/JAVA 2014.09.12