사용자 정의 자료형

사용자 정의 자료형

이 문서에서는 사용자 정의 자료형에 대해서 간략하게 살펴본다.

복합 데이터

앞에서 정수, 실수, 논리, 문자열 등을 배웠지만 우리가 실제로 마주하는 데이터들은 이렇게 단순하지 않다.

철수야 마트에 가서 우유 하나만 사올래?

누군가 철수에게 위와 같이 심부름을 시켰다고 가정해보자. 철수는 과연 우유를 잘 사올 수 있을까?

그냥 마트에 가면 다양한 회사들이 만든 다양한 종류의 우유가 다양한 가격으로 전시되어 있을 것이다. 이 중에서 아무거나 골라가면 혼날 확률이 매우 높다. 시킨 사람이 원하는 상품이 아닐 가능성이 있기 때문이다. 철수는 좀 더 자세한 정보가 필요하다.

철수야 마트에 가서 2500원 짜리 우유 하나만 사올래?

2500원짜리 우유라는 키워드를 통해 선택지를 좁힐 수 있다. 하지만 아직 부족하다.

철수야 마트에 가서 서울우유에서 만든 2500원 짜리 저지방 흰 우유 하나만 사올래?

위처럼 심부름을 시킨다면 고민할 필요 없이 바로 물건을 사올 수 있다. 즉, 우리는 우유라는 단순한 제품을 하나 이야기 할 때도 다양한 정보들을 필요로 하며, 이러한 정보들은 대체로 앞서 살펴본 정수, 실수, 논리, 문자열 등으로 구성되어 있다. 이를 통해 실제 물건이 없어도 대화를 통해 의견을 전달할 수 있으며 이는 프로그래밍에서도 동일하게 적용되어야 한다.

위의 예시로 살펴본 우유라는 제품의 정보는 다음과 같다.

우유=제조회사+제품명+가격+종류우유 = 제조회사 + 제품명 + 가격 + 종류

제조회사와 제품명, 종류는 문자열로 표현이 가능하고 가격은 정수로 표현이 가능하므로 다음과 같이 형태를 정리할 수 있다.

우유(Milk)=String+String+int+String우유(Milk) = String + String + int + String

따라서 실제 프로그래밍 상에서 우유라는 형태는 다음과 같이 정의될 수 있다.

class 우유 {
    String 제조회사;
    String 제품명;
    int 가격;
    String 종류;
}

이해를 돕기 위해 이름들을 한글로 작성했으며, 자세한 작성 방법, 활용 방법은 클래스 단 문서에서 다루므로 지금은 이러한 형태를 만들 수 있다는 것 정도까지 살펴보고 마무리한다.

Last updated