목록분류 전체보기 (24)
hyeongwoo's blog
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/d0iWIi/btsFCeLV84d/ciRlYKyBrsM0hWKjqHwPzK/img.png)
JDBC란 자바에서 데이터베이스에 접근할 수 있게 해주는 Programming API이다. 위의 드라이버 뿐만아니라 여러가지 드라이버가 더 있다. MySQL Connector/J Driver 5.1 Type 4 MySQL 5.1 Java DB 10.5.3.0 Type 4 Java DB 10.5.3.0 Oracle 11 Type 2 및 Type 4 Oracle 11 PostgreSQL 8.4 Type 4 PostgreSQL 8.4 DB2 9.7 Type 2 DB2 9.7 Sun, DataDirect 4.0 Type 4 Sybase ASE 15 Sun, DataDirect 4.0 Type 4 DB2 9.7 Sun, DataDirect 4.0 Type 4 Microsoft SQL Server 2008 Sun,..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/KNpsh/btsFE2pNFeb/qXbNdkN0GLhey4wIi4iae1/img.png)
데이터베이스에서도 가장 많이 사용되고있는 관계형 데이터 베이스에 대해 알아보겠습니다. 관계형데이터 데이터베이스는 모든 데이터를 2차원 테이블 형태로 표현하고 테이블 사이의 비즈니스적 관계를 도출하는 구조이고 데이터의 중복을 최소화 할 수 있으며 업무변화에 대한 적응력이 우수한 데이터베이스 유형이다. 관계형 데이터베이스 구조 관계형 모델이서는 데이터 테이블,뷰 및 인덱스와 같은 논리 데이터 구조가 물리적인 스토리지 구조와 분리되어 있다. 덕분에 데이터베이스 관리자는 논리적 구조로서 해당 데이터에 대한 엑세스에 영향을 주지 않고 물리적 데이터 저장소를 관리 할 수 있다. 만약에 데이터베이스 파일의 이름을 변경해도 그 안에 저장된 테이블의 이름은 변경되지 않는다. 관계형 데이터 베이스의 특징 데이터의 분류,정..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/phEjR/btsFDDDydTh/jUeFX7qpjMo4XKqWXf8KD0/img.png)
데이터베이스 관리시스템은 데이터베이스에서 데이터 추출,조작,정의,제어 등을 할 수 있게 해주는 데이터베이스 전용 관리 프로그램이다. 기능을 살펴보면 데이터 추출 사용자가 조회하는 데이터 혹은 응요 프로그램의 데이터 추출 데이터 조작 데이터를 조작하는 소프트웨어(응용 프로그램)가 요청하는 데이터 삽입,수정,삭제 작업 지원 데이터 정의 데이터 구조를 정의하고 데이터 구조에 대한 삭제 및 변경 기능 수행 데이터 제어 데이터베이스 사용자를 생성하고 모니터링하며 접근 제어 백업과 회복,동시성 제어 등의 기능 지원 등이 있다. DBMS종류는 여러가지가 있다. DBMS 사용 이점 데이터 독립화 데이터와 응용 프로그램을 분리시킴으로써 상호 영향 정도를 줄일 수 있다. 데이터 중복 최소화,데이터 무결성 보장 중복되는 데..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cwoo7n/btsFzeFpjoV/dE3R5PKDI5aOkXDRW0znGk/img.png)
데이터베이스를 알아보기 전에 데이터의 정의부터 알아보면 ,데이터는 관찰 결과로 나타난 정량적 혹은 정성적인 실제 값이다. 추출한 데이터가 있다면 추출한 데이터에 의미를 부여해서 얻는 것을 정보라고한다 정보는 추출된 데이터를 기반으로 사람에게 유용한 의미를 가져다 준다. 예를 들면 에베레스트의 높이는 8848m이다->데이터 에베레스트는 세계에서 가장 높은산이다->정보 이렇게 정보를 얻기위해서는 데이터가 필요하다. 수 많은 데이터가 있을텐데 그 중 원하는 정보를 추출하기 위해서 원하는 데이터만 추출해야될 것이다. 추출한 데이터들을 한곳에 모아둘 곳이 필요할 것이다. 데이터들을 모아둘 수 있는 공간이 필요한데 이러한 공간을 데이터베이스라고 한다. 데이터베이스란 한 조직에 필요한 정보를 여러 응용 시스템에서 고..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bkUzS0/btsFffwYjxs/bqA1lSlEFzBrmFqMW6PSUK/img.png)
자바에서는 클래스의 멤버변수나 멤버함수에 접근을 제한 할 수 있는데 이때 사용하는 것을 접근제한자라고 한다. 접근제한자의 종류는 다음과 같다 prviate : 클래스 내부에서만 접근가능하다. default(package): 같은 패키지에서만 접근이 가능하다. protected : 상속관계 클래스에서 접근이 가능하다. public : 어디서든 접근이 가능하다. 접근 범위는 대략적으로 아래와 같다. package 파일1; public class 클래스1{ private int a; int b; protected int c; public int d=0; public 클래스1(){ a=0; b=0; c=0; d=0; } } ---패키지 변경--- ------------------------------------..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dv4yWH/btsEJcGAfA2/SpnxV2vgFotSCFVpHCM751/img.png)
자바에서는 여러 데이터들을 저장하기위해서 배열을 사용한다. 하지만 배열의 치명적인 단점이 있는데 한 번 크기를 지정하면 크기를 변경할 수 없고, 변경하고자 한다면 새로운 크기의 배열을 만들고 기존의 값을 전부 복사해야한다. 하지만 컬렉션을 이용하면 크기를 지정할 필요없이 일정 크기가 되면 알아서 크기를 늘려주어 새로운 값은 추가 해주기만 하면 된다. 자료구조 자료구조란 데이터(자료)를 메모리에서 구조적(추가, 삭제, 조회, 정렬, 수정)으로 처리하는 방법론이다. 자바에서 자료구 조 및 알고리즘을 구현해 놓은 라이브러리가 있는데 이를 컬렉션이라고한다. 컬렉션 자료구조 개념이 내장되어있는 클래스로 자바에서 제공하는 자료구조를 담당하는 프레임워크이다. 제네릭 기반으로 구형이 되어있다. 자바에서 컬렉션은 jav..
제네릭(Generic) 제네릭은 하나의 값에 여러 데이터 타입을 가질수 있게 만드는 방법이다. 제네릭은 클래스나 메소드에서 사용할 내부 데이 타입을 컴파일시의 미리 지정한다. 제네릭을 사용하면 타입을 유연하게 처리할 수 있으며 컴파일단계에서 타입체크를하여 잘못된 타입을 사전에 방지 할 수 있다. 외부에서 직접 타입을 지정해주기 때문에 코드를 관리하기도 편하다. ArrayList arr1=new ArrayList(); ArrayList arr2=new ArrayList(); ArrayList arr3=new ArrayList(); 자바에서 제공하는 ArrayList 클래스가 여러개의 타입을 갖는 예시이다. 직접 코드를 작성시에 타입을 지정해 줄 수있다. 아래는 제네릭 클래스 예시 코드이다. public c..
자바에서 final키워드는 변수 앞에 붙거나 메소드의 반환형 앞에 붙는다. 자바에서 final 키워드가 변수앞에 붙으면 그 변수는 한번 초기화되면 다시는 변경할 수 없는 상수가 된다. 메소드내 지역변수 앞에 final이 붙으면 최초 초기화후 변경이 불가하다. final int a=2; //상수 또한 멤버 변수에도 final이 붙을수 있는데 이때도 최초에 초기화후 변경이 불가하다 하지만 인스턴스별로 생성되는 멤버 변수가 다르기 때문에 인스턴스를 참조하는 객체에서만 변경이 불가하고 객체별로는 다른 값을 가질 수 있다. 이게 무슨 말이냐면 public class 클래스1{ private final int a; //final 멤버변수는 반드시 생성자에서 초기화 해주어야한다. public 클래스1(int a){ ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/py54K/btsIezZkPiS/EA3zThsNdqJevdMpuOZnZ1/img.png)
1. 자바의 입력출력클래스 자바의 입력시 Scanner를 주로 사용한다. 하지만 Scanner는 상당히 느리기때문에 빠른 실행시간을 원하거나 코딩 테스트에서는 Scanner 대신 BufferedReader와 , InputStreamReader를 사용합니다. 출력시에도 System.out.Println()을 사용하는데 이 또한 느리기때문에 BufferedWriter와 OuputStreamReader를 사용합니다.BufferedReader, BufferedWriter 와 InputStreamReader, OuputStreamReader 에 관해 알려면 자바 입출력 스트림에대해 알아야..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cafTXb/btsEE10G01N/SkkK32KDF8R4ys9Es2Ip3K/img.png)
Static Static이라는 의미는 정적이라는 의미를 가지고 있다. 자바에서 Static영역의 메모리가 있는데 여기에 할당되는 변수나 메소드는 클래스당 딱 한번만 할당되며 모든 인스턴스가 공유를 한다. Static영역과 None_Static영역 자바에서 클래스안에있는 None_static영역의 변수나 메소드들은 각각 인스턴스 변수, 인스턴스 메소드라고 한다. 인스턴스 변수와 메소드들은 인스턴스가 생성이 될때 마다 각각 다른 메모리에 할당되는데 해당 인스턴스 영역은 인스턴스를 참조하고있는 참조변수를 통해서만 접근 ,즉 객체를 통해서 만 접근이 가능하다. 반면에 Static영역의 변수와 메소드는 객체생성없이 클래스로 바로 접근할 수 있다.(참조변수로도 접근이 가능하긴하다.) 이러한 Static변수와 메소드..