Java Eco›Java programming
25
Java EcoTILJava programming
Java; Class
java.lang.*은 컴파일 할때 자동으로 추가된다. Object클래스는 모든 자바 클래스의 최상위 클래스다. 모든 클래스는 Object 클래스로부터 상속을 받는다. 클래스를 만들때 extends Object를 하지 않지만, 컴파일 과정에서 자동으로 들어간다. 모든 클래스가 Object 클래스를 상속 받았으므로 Object의 메소드를 사용할 수 있고 재정의 할 수도 있다 String toString() : 객채를 문자열로 표현하여 반환한다. 재정의하여 객체에 대한 설명이나 특정 맴버변수 값을 반환한다. boolean equals(
Java EcoTILJava programming
Java; Other I/O stream
클래스의 상태를 저장해 전송하거나 저장할 일이 있다. 그럴때 인스턴스의 어느 순간을 저장하는것을 직렬화라고 한다. (Serialization) 인스턴스의 저장된 상태를 다시 복원하는 것을 역직렬화라고 한다. (Deserialization) 직렬화란 간단하게 인스턴스의 내용을 연속 스트림으로 만드는 것이다. 스트림으로 만들어야 파일에 쓸 수도 있고 네트워크로 전송할 수도 있다. 직렬화를 위한 보조 스트림 ObjectInputStream(InputStream in) ObjectOutputStream(OutputStream out) 직렬
Java EcoTILJava programming
Java; I/O Stream
자바에서 모든 입출력은 Stream을 통해 이루어진다. 파일 디스크 키보드 모니터 메모리 네트워크 등등 모두 포함. Stream이란 용어는 네트워크에서 유래됐다. 입출력장치가 다양하기 때문에 자바는 입출력 장치와 무관하고 일관성 있게 프로그램을 구현할 수 있도록 일종의 가상 통로인 Stream을 제송한다. Source와 target에 따라 각각 다른 Stream 클래스를 제공한다. 입력 스트림 : 어떤 대상으로부터 자료를 읽어들일때 사용하는 스트림을 입력 스트림이라고 한다. 출력 스트림 : 파일에 저장할 때는 출력 스트림을 사용한다
Java EcoTILJava programming
Servlet; DataSource 연동
서블릿 비즈니스 처리 작업이란 서블릿이 클라이언트로부터 요청을 받으면 그 요청에 대해 작업을 수행하는 것을 의미 합니다. 대부분의 비즈니스로직 처리는 DB연동 작업이 동반된다. DAO와 VO를 사용한 회원정보 연동을 해보자 H2 데이터베이스를 미리 준비한다 쿼리를 밀어넣고 maven.xml에 다음 내용을 추가한다. MemberDAO, MemberVO MemberServlet 데이터베이스 연동 과정은 웹 어플리케이션이 필요할 때마다 DB에 연결해 작업하는 방식이다. 이런식으로 필요할때마다 연동해서 작업한다면 DB연결에 걸리는 시간이
Java EcoTILJava programming
Java; Exception
프로그램에서 오류가 발생하는 상황은 Compile error와 runtime error 두가지다 Compile error : 프로그램 코드 작성 실수로 발생하는 오류. 개발 환경에서 대부분의 원인을 알 수 있다. Runtime error : 실행 중인 프로그램이 의도하지 않은 동작을 하거나 프로그램이 중지되는 실행 오류. 프로그램을 잘못 구현해 의도한 바와 다르게 실행됙어 생기는 오류를 버그라고 한다. 실제 서비스 제공중인 프로그램이 오류로 인해 종료되면 서비스가 중지되므로 문제가 심각해진다. 실행 중 오류가 발생하면 상황을 재현해
Java EcoTILJava programming
Java; Stream
배열 요소를 특정 기준에 따라 정렬 하거나 (sort), 요소 중 특정 값은 제외하고 출력하는 기능 (filter). 이런 자료처리에 대한 기능을 구현해놓은 클래스가 stream이다. 스트림을 활용하면 자료를 일관성 있게 처리할 수 있다. 자료에 따라 기능을 새로 구현하는 것이 아니라 자료형에 상관없이 같은 방식으로 메소드를 호출한다. 간단한 스트림 예제 Arrays.stream() : 스트림의 생성 부분이다 forEach() : 요소를 하나씩 꺼내는 기능이다. 스트림의 연산 종류에는 크게 중간 연산과 최종 연산 두 가지가 있다.
Java EcoTILJava programming
Servlet; doGet, doPost
Servlet이 수행하는 세가지 주요 기능은 다음과 같다. 클라이언트로부터 요청을 받는다. 비즈니스 로직을 처리한다. 처리된 결과를 클라이언트에게 응답으로 내려보낸다. 초기 웹 프로그램 개발에서는 서블릿이 클라이언트로부터 요청을 받아 비즈니스 작업을 처리한 후 그 결과를 클라이언트의 브라우저로 전송하는 방식으로 작업했다. 요청과 응답에 관련된 API는 모드 javax.servlet.http패키지에 있다. HttpServletRequest HttpServletResponse 클라이언트가 서블릿에 요청을 하면 먼저 톰캣 컨테이너가 받는
Java EcoTILJava programming
Java; Inner Class
내부 클래스는 말 그대로 클래스 내부에 선언한 클래스다. 내부 클래스를 선언하는 이유는 외부 클래스와 밀접한 관련이 있기 때문이다. 다른 클래스와 협력할 일이 없을때도 내부 클래스로 선언해서 사용한다. 인스턴스 내부 클래스, 정적 내부 클래스, 지역 내부 클래스가 있다. 클래스 이름 없이 선언하고 바로 쓸수 있는 익명 클래스도 있다. 인스턴스 변수를 선언할때와 같은 위치에 선언하며, 외부 클래스 내부에서만 생성하여 사용하는 객체를 선언할때 사용한다. 인스턴스 내부 클래스는 외부 클래스 생성 후 생성된다. 외부 클래스를 생성하지 않으