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
번호 분류 제목 글쓴이 날짜 조회 수
20 Java 3.5.4 private의 사용 이유 IT장인 2013.12.28 530
19 Java 1.4.3 정수형과 실수형의 계산 IT장인 2013.11.21 534
18 Java 3.6.1 객체의 메모리 생성 IT장인 2013.12.28 536
17 Java 1.2.2 데이터 타입의 두 번째 목적 IT장인 2013.11.21 552
16 Java 1.1.4 자바의 최종 목표 IT장인 2013.11.21 556
15 Java 1.5.3 상수의 의미 IT장인 2013.11.21 574
14 Java 1.4.4 정수형과 실수형 데이터 타입 IT장인 2013.11.21 594
13 Java 2.2.4 사용자 정의 데이터 타입 테스트 IT장인 2013.11.22 659
12 Java 3.5.1 접근제어란? IT장인 2013.12.28 728
11 Java 3.6.7 결론 IT장인 2013.12.28 1184
10 Java 3.6.5 참조 변수의 타입 IT장인 2013.12.28 1271
9 Java 3.5.2 private의 접근과 컴파일 에러 IT장인 2013.12.28 1391
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6