본문 바로가기

Java/문법 및 이해

(15)
[JAVA] JDBC API : java.sql package java.sql package의 주요 인터페이스 (규칙) (1) java.sql.Driver 클래스 Driver 모든 드라이버의 정보를 가지고 있다. 모든 드라이버가 반드시 구현해야 하는 인터페이스이며, DBMS와의 연결을 관리하는 객체를 리턴한다. (2) java.sql.Connection 클래스 Connection 데이터 베이스에 대한 하나의 세션을 표현한다. 여기서 세션은 하나의 클라이언트가 서버에 요청을 하기 위해 연결을 맺은 상태를 의미한다. DriverManager 클래스의 getConnection() 메서드를 이용하여 얻어 올 수 있다. 개발자가 원하는 경우에 commit을 해주고 싶거나 트랜잭션이 아주 중요한 부분에 있어서 RollBack 처리를 하고자 할 경우에는 setAutoCommit..
[JAVA] intelliJ에서 JDBC와 MySQL 연동 1. Mysql Connection jdbc 설치 https://dev.mysql.com/downloads/mysql/ MySQL :: Download MySQL Community Server Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris macOS Source Code Select OS Version: All Windows (x86 dev.mysql.com 위의 사이트로 들어가서 본인 pc 버전..
[JAVA] JDBC 란? 1. JDBC Java DataBase Connectivity 의 약어로 Java와 DB 연결을 위한 표준 API 이다. Java에서 DB에 접근하여 데이터를 조회, 삽입, 수정, 삭제를 가능하게 해주는 것을 말한다. Java와 연동되는 DBMS(ex. MySQL)에 따라 그에 맞는 JDBC(ex. MySQL Connector)를 설치할 필요가 있다. JDBC와 비슷한 ODBC는 무엇일까? ODBC 데이터베이스를 접근하기 위한 표준 개방형 응용 프로그램 인터페이스이다. 2. JDBC와 ODBC의 차이점
[Java] SAX Parser 1. SAX Parser Simple API for XML Parser의 약어로, 자바 API에서 제공한다. DOM Parser와는 다르게 SAX Parser는 문서를 딱 한번만 읽는다. 다시말해, 한 번 읽는데 문서를 순회하면서 event가 발생하면 순차적으로 파싱을 하게 된다. 즉, XML 문서를 읽어들여서 어떤 태그를 만나면 그에 따라 이벤트를 생성한다. 하지만 딱 한번 순회하므로 다양한 형태로 처리할 수 없지만, 가볍고 파서가 간단하다는 장점이 있다. 2. SAX 구조 모델 : 이벤트 기반 인터페이스 XML 문서를 읽을 때 SAX 파서는 어떻게 이벤트를 발생하게 될까? 위 예시 처럼 특정 위치에서 이벤트를 발생시키는 메서드들이 존재한다. (1) startElement() : 태그를 처음 만나면, ..
[JAVA] 람다와 함수형 인터페이스 1. 람다식 (Lambda Expression) 함수를 하나의 식(expression)으로 표현한 것이다. 함수를 람다식으로 표현하면 메소드의 이름이 필요 없기 때문에, 람다식은 익명 함수(Anonymous Function)의 한 종류 라고 볼 수 있다. // 기존의 방식 반환티입 메소드명 (매개변수, ...) { 실행문 } // 예시 public String hello() { return "Hello World!"; } 하지만 람다 방식으로는 위와 같이 메서드 명이 불필요하며, 다음과 같이 괄호() 와 화살표 → 를 이용해 함수를 선언하게 된다. // 람다 방식 (매개변수, ... ) -> { 실행문 ... } // 예시 () -> "Hello World!"; 이렇게 람다식은 불필요한 코드를 줄이고, ..
[JAVA] Singleton 싱글톤 디자인 패턴 1. 싱글톤 패턴 싱글톤(singleton) 패턴이란 객체의 인스턴스가 오직 1개만 생성되는 패턴을 의미한다. 글만 봤을 땐 무슨 의미인지 모를 수 있다. 그래서 코드를 통해 싱글톤 패턴이 무엇인지 볼 것이다. public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { // 생성자는 외부에서 호출못하게 private 으로 지정해야 한다. } public static Singleton getInstance() { return instance; } public void say() { System.out.println("hi, there"); } } 위 코드에서 특이한 부분이 있을 것이다. ..
[JAVA] 다형성 Polymorphism 1. 다형성(Polymorphism) 다형성이라는 개념은 객체 지향 프로그래밍에서 아주 중요한 개념이다. 당연히 자바에서도 굉장히 중요하게 여기고 있고, 다형성을 모른다면 객체 지향 프로그래밍을 쓸 수 없을 만큼 치명적이다. 아래의 코드는 People라는 클래스이다. 클래스 안에는 printInfo라는 메서드를 작성했다. class People { public void printInfo() { System.out.println("사람"); } } public class StringTest { public static void main(String[] args) { People p = new People(); p.printInfo(); } } 위 코드 결과는 당연히 "사람" 일 것이다. 그렇다면 Man과 ..
[JAVA] String 객체 생성과 Constant Pool 자바에는 String 객체를 생성하는 방법이 두 가지 있다. 물론 생성되는 String 객체는 물론 값이 아닌 객체 즉, heap 영역에 생성된다. String 객체를 생성하는 방법은 스트링 리터럴과 new 연산자를 이용한 객체 생성 방법이다. 간단한 코드를 예시로 두 가지의 차이점을 알아보자. public class StringTest { public static void main(String[] args) { String name1 = new String("name"); String name2 = "name"; String name3 = "name"; String name4 = new String("name"); if (name1 == name3) { System.out.println("name1 =..