1. Constructor, Field, Method 분석 reflection을 사용하여 주어진 reflection.ReflectionVO 클래스의 Constructor, Field, Method를 분석하여 System.out으로 출력하는 로직을 작성하시오. 1) 소스 public void reflection_1() { Class clazz = ReflectionVO.class; // 1. Constructor 분석 Constructor[] constructors = clazz.getDeclaredConstructors(); System.out.println("==== Constructor(생성자) 분석 ===="); for(int i=0; i
1. DOM과 SAX 비교 DOM과 SAX에 대해서 기술하시오. 1) DOM(Document Object Model) 방식 ① DOM은 WEC에 의해 주관되는 표준 XML 처리 방법이다. DOM은 XML만을 위한 것이 아니라 XML과 같은 마크업 형식을 따르는 모든 문서를 처리하기 위한 표준 API이다. 그래서 DOM은 HTML뿐만 아니라 스타일시트를 위한 API도 함께 포함하고 있다. ② DOM은 XML 문서를 처리하기 위해 XML 문서를 읽고 메모리에 로딩한다. 메모리에 로딩된 XML은 트리 구조를 가지며, 트리 기반(Tree Based)의 API를 이용해서 XML 문서를 처리할 수 있다. ③ DOM은 버전으로 구분되지 않고 Level에 의해 구분되는데, 현재 Level 3 일부가 권고안으로 확정된 ..
1. 전제 조건 1) DBMS PRODUCT : Oracle 11g 2) SERVICE PORT : 1521 3) SERVICE NAME : framework 4) USER : framework_test 5) PASSWORD : framework_test 2. DriverManager DriverManager 를 이용하여 DB CONNECTION을 생성하는 로직을 작성하시오. import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DriverManagerTest { public Connection getConnection() { String url = "jdbc:oracle:th..
1. 특징 1.1. 주요 기능 Apache Commons Logging은 많은 로깅 툴킷에 대한 독립적인 경량의 로그 인터페이스이다. Apache Commons Logging은 미들웨어 및 툴 개발자에게 단순한 로깅 추상화 계층을 제공하기 때문에 사용자(애플리케이션 개발자)는 특정 로깅 구현체를 플러그인하여 사용할 수 있게 된다. Apache Commons Logging은 Log4j, Avalon LogKit, JDK1.4를 포함한 다른 로깅 툴에 대한 경량의 래퍼(wrapper) 구현체에 대한 로그 인터페이스를 제공한다. 1.2. 동작 특성 1) Apache Commons Logging은 다음과 같은 기본이 되는 두 가지 추상 클래스가 있다. ① Log : 기본 Logger 인터페이스, 다양한 로깅 A..
1. 특징 1.1. 주요 기능 ① Log for Java라는 뜻으로 Jakarta-project에서 Java를 위한 프로젝트 중 하나로 처음부터 Java의 예외를 처리하기 위해 설계되었다. ② 속도와 유연성을 고려하여 디자인되었으며, 속도에 최적화 되었다. ③ 계층적인 로그 설정과 처리를 지원한다. ④ Thread-Safe 하여 멀티스레드 환경에서 사용해도 안전하다. ⑤ 로그 처리 관련 설정을 프로그램에서 API를 이용하여 직접 구현해도 되고, properties 파일이나 XML 파일을 이용하여 추가 설정 파일을 이용할 수도 있다. ⑥ 출력을 파일, 콘솔, java.io.OutputStream, java.io.Writer, TCP를 사용하는 원격서버, 원격 Unix Syslog 데몬, 원격 JMS 구독자..
출처 : http://www.java-forums.org/java-tips/6578-messagebox-example.html public class MessageBox { /* These are a list of STATIC MODAL dialogs int return codes of button pressed: -1 - WINDOW CLOSED - the X PRESSED 0 - YES and OK 1 - NO 2 - CANCEL (thanks to flipside for the idea) */ public static int yesno(String theMessage){ int result = JOptionPane.showConfirmDialog((Component) null, theMessage,..
1. Get방식과 Post방식의 특성을 비교 설명하시오 1) Get 방식 : URL에 전달하고자 하는 정보를 포함해서 전달하는 방식으로써, URL에 파라미터 정보가 포함한다. - 장점 : 속도가 빠르다. - 단점 : 정보가 노출되므로 보안 취약하다. 보내는 정보의 크기가 1024바이트로 제한된다. 2) POST 방식 : 전달하고자 하는 정보를 첨부 파일 형태로 포함해서 전송하는 방식으로써, 전송하려는 정보가 HTTP 응답 메시지의 본문에 첨부된다. - 장점 : URL의 주소 창에 보내는 정보에 대한 노출이 없기 때문에 보안성이 좋다. 보내는 정보의 크기에 제한이 없다. - 단점 : 속도가 get방식보다 느리다. 3) POST 방식이 장점이 많지만 GET 방식이 간편하여 보통 GET 방식과 POST 방식을..
1. Strategy Pattern - 알고리즘군을 정의하고 각각을 캡슐화하여 교환해서 사용할 수 있도록 만든다. 스트래티지을 활용하면 알고리즘을 사용하는 클라이언트와는 독립적으로 알고리즘을 변경할 수 있다. - SimUDuck 어플리케이션 2. Observer Pattern - 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의한다. - Loose Coupling 3. Decorator Pattern - 객체에 추가적인 요건을 동적으로 첨가한다. 서브클래스를 만드는 것을 통해서 기능을 유연하게 확장할 수 있는 방법을 제공한다. - OCP(Open-Closed Principle) : 클래스는 확장에 대해서는 열려 있어야 하지만 ..