24. JAVA JDBC (Java Database Connectivity) - 2
·
개발/JAVA
1. PreparedStatement (준비된 Statement) 정리 - '미리' SQL문이 셋팅된 Statement가 DB에 전송되어져서 컴파일되어지고, SQL문의 '?'만 나중에 추가 셋팅하여 실행되는 '준비된 Statement'. 2. 장점 (1) Statement 에 비해서 반복적인 SQL문을 사용할 경우에 더 빠르다.(특히, 검색) (2) DB컬럼타입과 상관없이 ? 하나로 표시하면 됨. 개발자가 헷깔리지 않고 쉽다. (특히, INSERT문) (이유: ? 를 제외한 SQL문이 DB에서 미리 컴파일되어져서 대기) 3. 단점 SQL문마다 PreparedStatement 객체를 각각 생성해야 하므로 재사용불가. (but, Statement 객체는 SQL문이 달라지더라도 한 개만 생성해서 재사용이 가능..
23. JAVA JDBC (Java Database Connectivity) - 1
·
개발/JAVA
* CRUD (Create Read Update Delete) 작업을 할 수 있게 도와주는 라이브러리/인터페이스/프로그램/api/기술 ㄴ 크루드 작업 1. JDBC란? - JVM시스템과 DB시스템을 연결하고, 통신하기 위한 JAVA표준 스펙(Specification) - Java언어로 데이타베이스에 연결해서 입력,수정,삭제 및 조회등의 작업을 할 수 있도록 해주는 기술이다 - JDBC는 프로그램과 각각의 데이타베이스(Oracle,MS-SQL,DB2,MySQL등) 중간에서 각 데이타베이스의 벤더 (회사)에서 제공하는 API들을 사용할 수 있도록 변환해주는 기능을 수행한다. - JDBC가 각 벤더에 맞는 API를 사용할 수 있도록 프로그래머는 각 벤더에서 제공해주는 드라이버를 다운받아 JAVA개발환경에 설정..
22. JAVA Network 네트워크
·
개발/JAVA
1. 네트웍(network - 일을 위한 그물망) -> 두 개 이상의 디바이스가 연결되어 통신을 할 수 있는 환경. -> 케이블이나 전화선, 무선 링크등으로 연결되어 동일한 프로토콜을 사용해서 통신할 수 있는 디바이스들의 집합. (ex: 두 대 이상의 PC사이의 Data통신, 인터넷,) 2. 패킷 -> 데이터의 전송 단위. (다양한 크기[기본:128byte], 재사용이 가능, 해더/데이터/테일러) 3. 라우터와 라우터 스위치 -> 라우터는 패킷이 목적지로 가는 길(방향,경로) 안내자. 라우터 스위치는 라우터에 포함된 장치로 패킷의 방향타 역할. 4. 게이트웨이 / 파이어월 -> 게이트웨이(문)은 내부네트웍과 외부네트웍과 연결된 관문. -> 파이어월(방화벽)은 내부자원을 보호하고, 불필요한 외부 자원의 유..
21. JAVA IO (Input / Output) / 파일 입출력 스트림 / 파일 (File) 클래스
·
개발/JAVA
1. 스트림(Stream) 이란? - 데이터의 '흐름' 또는 '연결 통로' 2. 흐름이란 - Source -> 데이터의 흐름 -> Destination(키보드, 파일, 브라우저 / 모니터, 프린터, 파일, 브라우저) 3. 표준 입출력 스트림 - 키보드(System.in) -> 모니터(System.out) 4. 특징 - FIFO (First In First Out) - 단방향성 - 지연성 - 유연성 : 노드(근원) 스트림을 목적에 맞게 필터링 하는것 ex) BufferedReader br = new BufferedReder(new InputStreamReader(System.in)); 5. 구분 - 읽고 쓰는 단위 ㄴ 1byte 스트림 (바이트 스트림 : 문자를 제외한 나머지) : XXXInputStrea..
20. JAVA 쓰레드 (Thread)
·
개발/JAVA
* 쓰레드 & 프로세스 - 프로세스란 '실행중인 프로그램'이며 쓰레드는 프로세스를 구성하는 '제어의 흐름'이다 - 모든 프로세스에는 최소한 하나 이상의 쓰레드가 존재한다 * 쓰레드 (Thread) 의 장점 - 프로세스의 공통 Resource를 공유하므로 '경량 프로세스'로 불린다 * 쓰레드 (Thread) 와 프로세스 (Process) 의 차이 - Process : 프로그램의 '실행단위' - Thread : Process를 구성하는 '작업단위' * 자바는 멀티쓰레드가 가능하다 - 하나의 프로세스 안에서 여러개의 쓰레드가 동시 작업하는 멀티 쓰레드 - main메소드(프로그램 진입점)을 가진 자바 프로그램은 하나의 스레드를 가진(main쓰레드) 단일 쓰레드이고 - Thread 클래스나 runnable 인터페..
19. JAVA 예외(Exception) / try~catch~finally
·
개발/JAVA
- 예외 (Exception) : 프로그램이 실행되는 과정에서 만나게 되는 오류 * 예외의 종류 - Checked Exception (컴파일 에러) ㄴ 컴파일러가 판단 할 수 있는 예외. 즉, 실행되기전에 체크 할 수 있는 예외 ㄴ 컴파일 하기 위해서는 반드시 예외 처리 해야한다 (Syntax오류, IOException 등) ㄴ main에서 던져도 됨. 직접 try~catch로 처리 안해도 된다 ㄴ 외부자원을 쓰려면 빨간줄이 간다 - Unchecked Exception(런타임 에러) - 예외처리한다 ㄴ 컴파일러가 판단 할 수 없는 예외.즉 실행시에만 발견되는 에러 ㄴ JVM이 자동으로 예외를 throws 해 줌으로 예외처리를 하지 않도 된다 ㄴ RuntimeException게열 (NullPointerEx..
18. JAVA 클래스간 형변환 / 업캐스팅 / 다운캐스팅 / 내부클래스 (InnerClass)
·
개발/JAVA
1. 형변환(Type Casting) * 묵시적 형변환 (업캐스팅) - 작은 범위의 데이터를 큰 범위의 할당하는 경우와 같이 값의 변화가 발생하지 않는 변환 double d = 12.34; int i = 1234; // double > int : 묵시적 형변환 d = i; d = 1234.0 * 강제적 형변환 (다운캐스팅) - 큰 범위의 데이터를 작은 범위에 할당하는 경우는 값의 변화가 일어날 수 있기 때문에 변환하고자 하는 변수명 앞에 (데이터형)을 지정한다 double d = 12.34; int i = 1234; // double > int : 묵시적 형변환 i = d; // [x] i = (int)d; i = 12 * 다운캐스팅의 경우 타입을 지정해 주지 않으면 에러가 난다. 2. 내부클래스(Inn..
17. JAVA 인터페이스 (Interface) / 컬렉션 (Collection)
·
개발/JAVA
1. 인터페이스 (Interface) - 클래스가 객체의 설계도라면 인터페이스는 클래스의 설계도라 할 수 있다 - 멤버로는 추상메소드와 상수(final)만 구성된다 - 접근지정자는 public과 default만 가질 수 있다 (modifier(static, final)는 가질 수 없다) - 인터페이스에 있는 추상 메소드는 public과 abstract란 키워드를 생략한다 ㄴ 자식의 오버라이딩 메소드에서는 반드시 public을 붙여야 한다 - 인터페이스의 변수 또한 public static final을 생략해도 컴파일러가 자동으로 붙여준다 public interface MyInterface{ int MONEY=100; // public static final이 생략됨, 자동으로 컴파일러가 붙여줌 void ..