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.3.6 값복사와 매개변수의 전달 IT장인 2013.12.28 460
43 Java 1.4.1 데이터 타입의 분류 IT장인 2013.11.21 460
42 Java 3.2.2 자바의 환경설정 IT장인 2013.12.28 451
41 Java 1.2.1 데이터 타입의 첫 번째 목적 IT장인 2013.11.21 447
40 Java 3.4.4 변수와 메서드의 분리와 결합 IT장인 2013.12.28 446
39 Java 1.6.1 데이터 타입과 변수, 상수 IT장인 2013.11.21 446
38 Java 1.3.1 메모리에 접근하는 방법 IT장인 2013.11.21 430
37 Java 1.1.2 Introduction IT장인 2013.11.21 418
36 Java 3.3.4 리턴과 매개변수 IT장인 2013.12.28 403
35 Java 3.3.7 값복사가 적용되는 곳 IT장인 2013.12.28 399
34 Java 1.1.1 핵심 Question IT장인 2013.11.21 391
33 Java 1.5.2 변수의 의미 IT장인 2013.11.21 387
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6