본문 바로가기

JAVA

(62)
[JDBC] prestatement, result set PreparedStatement (인터페이스) prestatement PreparedStatement pstmt = null; // SQL 구문 String sql = "SELECT count(*) FROM member WHERE member_id != ? AND member_email = ?"; // SQL, 인자(선)처리 try { pstmt = con.prepareStatement(sql); pstmt.setString(1, memberId); pstmt.setString(2, memberEmail); // pstmt.setString(3, "member"); rs = pstmt.executeQuery(); PreparedStatement 객체는 Connection 객체의 preparedStatem..
[JAVA] JDBC 사용하기 JDBC란? JDBC(Java Database Connectivity)는 자바에서 데이터베이스의 종류에 상관 없이 접속해서 DB프로그래밍을 할 수 있는 API이다. 순서 1) JDBC 드라이버 로드 2) DB 연결 3) DB 활용 4) DB 연결 종료 JDBC 드라이버 각각의 데이터베이스 (ORACLE, MySQL, MSSQL 등) 별로 알맞은 JDBC 드라이버가 필요하다 (jar파일) \oraclexe\app\oracle\product\11.2.0\server\jdbc\lib 오라클의 경우 드라이버의 경로는 위 사진과 같으며 ojdbc5는 하위버전이며 ojdbc6_g는 디버그 전용 드라이버라고 한다. 불필요한 로그가 발생할 수 있으니 ojdbc6.jar을 사용한다. 드라이버 파일을 자바에 연결하는 방법..
[JAVA] 중첩 클래스 중첩 클래스란 클래스 내부에 선언된 클래스이다. 사용하는 이유는 1. 두 클래스의 멤버들을 서로 쉽게 접근할 수 있다. 2. 외부에 불필요한 관계 클래스를 감춰 복잡성을 줄일 수 있다. class ClassName{ class NestedClassName{ } } 위와 같은 형태로 이루어져 있다. class ClassName{ Interface NestedInterfaceName{ } } 인터페이스도 클래스 내부에 선언할 수 있는데 이를 중첩 인터페이스라고 한다. 중첩 클래스 멤버 클래스 : 클래스의 멤버로 선언되어 있는 클래스를 멤버 클래스라고 한다. 로컬 클래스 : 클래스의 메소드나 생성자 내부에서 선언되어 있는 클래스를 로컬 클래스라고 한다. 멤버클래스는 클래스나 객체가 사용중이라면 언제든지 재사용..
[JAVA] 메소드(Method), 리턴(return) 다른 언어에서는 함수가 별도로 존재하지만 자바는 클래스 내 함수가 존재한다. 자바는 이 클래스 내 함수를 메소드라고 부른다. *파이썬은 함수와 메소드가 공존하여 두 개를 구분하지만 자바는 메소드만을 사용함 wikidocs.net/225 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net 메소드란 public int sum(int a, int b) { return a+b; } sum메소드는 입력값으로 두개의 값(int 자료형 a, b)을 받아 리턴 값은 두 개의 입력 값을 더한 값(int 자료형)이다. 여기서 return은 메소드의 결과 값을 돌려주는 명령어이다. public class Test { public int sum(int a, int b) { return a+b; } pub..
[JAVA] 클래스란? 프로그래밍에서 낱개의 자료를 저장하는 공간을 '변수(variable)'라고 한다. 이 때 같은 형식(자료형)의 여러 변수를 저장하는 공간을 '배열(array)' 이라고 한다. 여기서 여러 종류의 자료형 변수를 저장하는 공간을 '구조체(struct)'라고 하며 이는 C구조적 프로그래밍에서 중요한 요소이다. 이 구조체에서 파생된 것이 '클래스(class)'이며 다양한 자료형과 다양한 자료를 저장할 수 있으며 추가적으로 메서드 (함수)를 내장할 수 있다. 간단하게 작은 클래스를 만들어보자. wikidocs.net/214 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net !점프 투 자바의 클래스 문서를 그대로 각색하여 작성함! 클래스란? Car.java public class Car { ..
[JAVA 기초] 객체 지향 프로그래밍 (객체, 클래스) 객체(Object) 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지며 식별 가능한 것 속성 (필드(field)) + 동작(메서드(method))로 구성 객체와 객체 간의 상호작용 메서드를 통해 객체들이 상호작용 메서드 호출 : 객체가 다른 객체의 기능을 이용하는 것 int result = Calculator.add(10, 20); 리턴한 값을 int 변수에 저장 사람(객체)이 계산기(객체)의 더하기 (메서드) 기능을 이용할 때 위해서는 메서드를 호출하여 전자계산기에서의 리턴 값을 전달해준다. 객체 간의 관계 집합 관계 - 부품과 완성품의 관계 사용 관계 - 객체 간의 상호작용 상속 관계 -상위(부모) 객체를 기반으로 하위(자식) 객체를 생성 클래스 (class) 자바의 설계..
[JAVA 기초] 열거 타입 데이터 중에는 몇 가지를 한정된 값만을 갖는 경우가 있다. ex) 4계절 : 봄, 여름, 가을, 겨울 ex) 달력 : 1월, 2월, 3월... ,12월 이러한 한정된 값을 갖는 타입을 열거 타입이라고 한다. 열거 타입 열거 상수(한정된 값)를 저장하는 타입 위와 같이 Week 열거 타입을 선언하면 해당 타입으로는 선언된 상수만을 사용할 수 있게 된다. Week today; today = Week.FRIDAY; 열거 타입 선언 소스파일(.java) 생성 열거 타입 선언 public enum 열거타입이름 { ... } 열거 타입의 키워드는 enum이다. public enum Week {MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY} // (열..
[JAVA 기초] 자바 배열 4(객체를 참조하는 배열, 배열 복사, 향상된 for문) 참조 타입 배열 기본 타입이 아닌 참조 타입의 배열은 요소의 값(리터럴)을 저장하지 않고, 객체의 번지를 저장을 한다. 예를 들어 String 배열 변수를 선언해보자. (String은 참조 타입 중 클래스에 해당) String[] strArray = new String[3]; strArray[0] = "Java"; strArray[1] = "Java"; strArray[2] = new String("java"); 위와 같이strArray 변수에 3개의 배열 객체를 만들어 대입하고 각 인덱스에 "Java" 문자열을 추가해주면 메모리에 아래 그림처럼 생성이 된다. 이때 0과 1인덱스에서는 힙 영역에 생성된 동일한 "Java" String 객체를 공유하여 참조한다. 2인덱스에서는 new연산자를 사용하여 새로운..