전체 글 83

[Java/Theory]23. JDBC

23. JDBC DB의 SQL을 자바와 연결해 주는것을 표준화 한 체계 각 RDBMS(Vendor)마다, 다형성이 입각된 체계로서, DB와 연결하는 것. JDBC 내부에는 Java진영(java.sql.*)과 RDBMS를 연결해주는 Driver(Vendor)들이 있다. 이 Driver는 Vendor마다 존재하며, JRE가 따로 설정된 classpath를 통해 Driver(jar)를 연결한다. JRE는 ByteCode의 Query문을 이용하여 JDBC를 통해 DB에 있는 내용을 가져온다. * JDBC의 절차 1. DBMS접근 : Connection(interface)으로 Objcet Modeling. (ID, PASSWORD, URL을 Encapsulation) 2. Query : Statement(inte..

Java/Theory 2016.05.31

[Java/Theory]22. Thread

22. Thread(Multi - Thread) * Process : 실행중인 프로그램 * Thread : 프로세스에서 실행되는 흐름의 단위 * 사용이유 : 여러개의 프로세스를 실행하면 메모리에 부담이 되므로 하나의 프로세스에 여러가지의 처리를 하는 것이 메모리와 운영체제 입장에서 효율적이다. * Java에서 동작되는 Thread의 원리 JVM에는 Thread Scheduler가 있다. 이 곳에서 기본적으로 동작되는 Thread가 main method다. Thread Scheduler에 다른 Thread를 진입하기 위해서는 start method를 가진 Instance가 필요하다. Thread Scheduler에 유일하게 접근이 가능한 start는 Thread를 구현한 run을 Thread Schedul..

Java/Theory 2016.05.31

[Java/Theory]21. Maker Interface

21. Maker Interface Serializable이라는 Interface로 Implemented한 Class. Data를 주고받기 위한 목적으로 둔 Class에 사용된다. Maker Interface로 설정해두면 JVM은 그 Class가 JVM외부로 나갈 수 있다고 인식된다. 이를 객체 직렬화라고 부른다. * Application Protocol C/S간에 Data를 주고 받기 위한 통신규약 * ValueObject 객체 직렬화된 Object. 이름 뒤에 VO라 작성하는 것이 약속이다. Application Protocol을 보완하였다. VO를 주고 받기 위해 사용 되는 Class는 ObjectInputStream과 ObjectOutputStream이다.

Java/Theory 2016.05.31

[Java/Theory]20. IO

20. IO JRE내부에는 자바를 실행하는 Bytecode가 있다. 이 Bytecode의 내, 외부를 조작 할 수 있는것이 IO Package다. IO에는 크게 5가지로 분류된다. ~Stream : 바이트(이진) 단위로 입출력을 수행하는 Class ~Reader / ~Writer : Charactor 단위로 입출력을 수행하는 Class // File~ : 하드디스크의 파일을 사용하는 Class// Data~ : 자바의 원시 자료형을 출력하기 위한 Class// Buffered~ : 시스템의 버퍼를 사용하는 Class * InputStream / OutputStream (바이트 입출력) Abstract Class * Reader / Writer (문자 입출력) Abstract Class 4개의 Abstra..

Java/Theory 2016.05.31

[Java/Theory]19. interface기반, Inner class, instanceof

19. interface기반, Inner class, instanceof- Programming based on interface Method의 Datatype을 최상위의 Class로 지정하는 것. Method 내부에서는 그 어떠한 하위의 Datatype으로 움직이는지는 관심이 없다. 반환되어 받는 Datatype도 최상위로 해두도록 한다. OOP의 Capsulation을 위한 것. Method의 Signature만을 확인하여 개발의 생산성을 올린다. - Inner ( Member / Local / Anonymous ) class Meber : Class에 Field에 정의된 Class. 외부에서 접근이 가능하나 작성의미가 없어짐 this를 접근하게 되면 내부 Class에 정의된 Field를 참조한다. ..

Java/Theory 2016.05.31

[Java/Theory]18. Exception Handling

18. Exception Handling JVM에서 실행중인 프로그램이 예외가 발생하여 Bytecode에서 처리하는 과정. Exception Handling의 목적은 견고한 Application을 만드는 것이다. Object 밑에 있는 Throwable Class에서 제공된다. Throwable에는 다양한 Exception Class가 있다. (0으로 나눌때, 배열 색인 이탈, wrong casting...) * 처리 원리 최초 예외가 발생한 시점을 출발점을 두어 관련된 구문을 추척하면서 Call Stack에 저장한다. Call Stack : Stack의 자료구조 형태로서 최초에 발생한 예외시점을 최하위단부터 저장한다. Call Stack에서 최상위에 있는 예외에서 catch로 인하여 처리가 되면 끝나겠..

Java/Theory 2016.05.31

[Java/Theory]17. AutoBoxing, Unboxing

17. AutoBoxing, Unboxing(JDK 1.5) Wraping의 번거로움을 해결한 과정. 일일이 Implicit, Explicit Casting하였지만 직접 대입해도 무관 Ex 1 : 12345int intValue = 1;ArrayList arrayList = new ArrayList(); arrayList.add(intValue); //==>autoboxingint i = arrayList.get(0); //==>autounboxingcs Ex 2 : 123456789101112131415161718public void add15(int intValue,double doubleValue,boolean boo){ //==> Autoboxing 기능 이해 :: Method add14() 비교..

Java/Theory 2016.05.31

[Java/Theory]16. Data Structure

16. Data Structure * Vector 배열에 있는 단점을 보완한 자료구조중 하나. (배열의 단점 : 관리해야 하는 Datatype은 하나뿐이다. 크기를 수정하거나 중간에 추가할 Data가 있으면 Instance를 삭제, 생성해야 되는 불편함) List라는 Interface를 구현하고 있다. => Vector는 List 자료구조중 하나이다. List에 있는 모든 Method들이 Vector에 Override되어 있다. Ex 1 : capacity() : 허용된 크기 size() : 현재 들어있는 크기 : Generic이라 부른다. 특정 DataTypea만으로 List를 관리하도록 하는 Keyword. add()에 들어갈 Argument는 Object다. 그러므로 Wrap되어 있는 Primiti..

Java/Theory 2016.05.31

[Java/Theory]15. StringBuffer, Calander, WrapperClass

15. StringBuffer, Calander, WrapperClass - StringBuffer String으로 생성된 Instance는 그 안에 있는 상태가 Immutable한 특징이 있다. 때문에 Append나 Method를 통해 상태값이 바뀐다면 매번 Instance를 생성, 삭제해야된다. 이러한 반복적인 경우를 줄이기 위한 것이 StringBuffer라는 Class다. 이 Class의 default constructor는 char의 배열이 16개로 선언된다. 이에 따라 문자를 추가, 삭제하는 Method를 통해 배열이 줄어들고 늘어나는 성질이 있어 Mutable한 특징이 있다. Precondition, Postcondition을 보고 이 둘을 활용하도록 한다. - Calander 선언부에 ab..

Java/Theory 2016.05.31

[Java/Theory]14. Object

14. Object 자바에 있는 모든 class의 Super class다. Java API에 있는 문서에 따르면 이 Class는 Heirachy가 없다. 사용자가 만든 class에도 Object가 extends 되어있고 생성자의 super method는 Object에 있는 생성자를 호출한다. Object에서 주로 사용 되는 Method는 toString, equals가 있다. Object는 String과 같은 타 Class에서 이 method들을 overriding하여 응용된다. 확장하지 않는 클래스는 묵시적으로 오브젝트가 확장되어 있다. =>toString() : 해당 클래스의 상태값을 스트링으로 반환. 이 메소드를 오버라이딩 하여 활용 가능. 스트링 변수에 값을 집어넣고 출력시 이 메소드를 참조하지 ..

Java/Theory 2016.05.31