Contents

조회 수 353 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
book_7249.png


2.3.4 클래스와 데이터베이스

이번에는 클래스의 의미를 데이터베이스(Database)와 관련 지어 보자. 프로그래머라면 누구나 한번쯤은 데이터베이스 테이블(Table)을 만들어 보았을 것이다. 하나의 클래스를 디자인한다는 것은 하나의 데이터 타입을 디자인하는 것과 비슷하다. 이것은 데이터베이스의 테이블을 디자인하는 것과 같은 의미를 지니고 있다. 다음과 같은 테이블이 있다고 가정하자.

▒ Person 테이블 생성 구문(MS-SQL 2000 기준)
1
Create Table Person (age int, height float, weight float);

테이블을 만드는 작업은 클래스를 디자인하는 것에 비유할 수 있다. 여러분이 앞에서 다음과 같이 하나의 클래스를 만드는 것과 완전히 동일한 작업이다.

▒ 데이터베이스 테이블에 비유되는 Person 클래스
1
2
3
4
5
public class Person{
         public int age;
         public float height;
         public float weight;
 }

아직 Person 테이블은 데이터의 내용이 없는 상태이다. 이제 위의 데이터베이스 테이블에 값을 입력해보자. 데이터베이스 테이블에 레코드 하나를 삽입하는 과정은 다음과 같다.

▒ Person 테이블에 레코드 삽입(MS-SQL 2000 기준)
1
2
insert into Person values (20, 170.0, 67.5);
insert into Person values (15, 165.3, 51.0);

테이블에 데이터를 삽입하는 과정은 클래스를 이용해서 객체를 생성한 후 값을 할당하는 행위에 비유할 수 있다.

▒ 레코드 삽입에 비유되는 객체의 값할당
 
Person 홍길동 = new Person();
홍길동.age = 20;
홍길동.height = 170.0F;
홍길동.weight = 67.5F;
  
Person 성춘향 = new Person();
성춘향.age = 15;
성춘향.height = 165.3F;
성춘향.weight = 51.0F;

데이터베이스에서 테이블을 만든다는 것은 클래스를 만드는 것이며, 그리고 테이블에 값을 삽입하는 과정은 클래스로 만든 데이터 타입을 이용해서 메모리를 생성한 후 값을 할당하는 것과 비슷한 느낌이다.

실제 데이터베이스의 테이블을 클래스로 변환하거나 XML의 스키마로 변환해서 사용한다. 그리고 데이터는 XML 문서로 변환해서 데이터 교환을 한다. 위에서 테스트한 결과만 보더라도 데이터베이스의 테이블이 클래스로 변경될 수 있는 것도 무리가 아니라는 것을 알 수 있다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
44 Java 3.2.3 컴파일과 실행 IT장인 2013.12.28 340
43 Java 3.2.2 자바의 환경설정 IT장인 2013.12.28 451
42 Java 3.2.1 자바 JDK IT장인 2013.12.28 353
41 Java 3.1.2 Introduction IT장인 2013.12.28 242
40 Java 3.1.1 핵심 Question IT장인 2013.12.28 277
39 Java 2.4.3 결론 IT장인 2013.11.22 302
38 Java 2.4.2 배우게 될 클래스 IT장인 2013.11.22 350
37 Java 2.4.1 메모리와 클래스 IT장인 2013.11.22 382
36 Java 2.3.5 클래스와 메모리 IT장인 2013.11.22 314
» Java 2.3.4 클래스와 데이터베이스 IT장인 2013.11.22 353
34 Java 2.3.3 클래스의 역할 IT장인 2013.11.22 353
33 Java 2.3.2 자바에서 사용하지 않는 구조체 IT장인 2013.11.22 379
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6