Contents

Java
2013.11.22 20:39

2.1.4 구조체의 사용

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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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


2.1.4 구조체의 사용

이번에는 앞에서 만든 Person 데이터 타입을 사용해보자. 구조체를 사용하는 방법은 기본 데이터 타입의 변수를 선언하는 것과 동일하다. 앞장에서 언급한 데이터 타입을 상기시켜 보자. 데이터 타입을 어디에 사용한다고 했는가? 바로 변수를 선언하는 것이다. 새로운 데이터 타입 Person을 이용해서 아래와 같이 변수를 선언할 수 있다.

▒ Person 구조체
1
2
3
4
5
struct Person{
         int age;
         float height;
         float weight;
 };

▒ 구조체 변수의 선언
1
2
struct Person sister; // C 언어 방식의 구조체 선언 변수
Person brother; // C++ 언어 방식의 구조체 선언 변수

여기서 Person은 새로운 데이터 타입이다. 정확하게 표현하자면 새로운 사용자 정의 데이터 타입이다. 그리고 변수의 이름은 sister와 brother이다. 위와 같이 변수를 선언하면, sister와 brother는 각각 12바이트씩의 메모리를 보유한 변수가 된다.

이제 메모리가 생성되었으니 값을 할당하면 된다. 하지만 아주 곤란한 문제가 발생한다. 기존의 방식대로라면 만들어진 sister와 brother 변수 내부에 존재하는 3개의 변수에 값을 할당할 수 없다. 그래서 나온 것이 점(.)의 원리이다. 그냥 단순히 이해하자면 소속이라는 의미이다. 구조체의 변수를 선언하고 생성된 구조체 변수 내부에 값을 할당하는 방법은 다음과 같다.

▒ 구조체의 값 할당
 
Person sister; 
sister.age = 15;
sister.height = 165.3F;
sister.weight = 51.0F;
 
Person brother; 
brother.age = 20;
brother.height = 170.0F;
brother.weight = 67.5F;

이와 같이 사용자가 임의로 새로운 데이터 타입을 만들 수 있으며, 그리고 만든 데이터 타입을 이용해서 변수를 생성한 후 값을 할당하는 것까지 해보았다.

구조체의 의미는 여기까지만 알아두자. 하지만 구조체야말로 클래스의 어원적인 측면을 고스란히 담고 있으니, 그 개념만큼은 정확히 알아두기 바란다. 구조체가 데이터 타입 생성기라는 것과 구조체로 변수를 만들었을 때에도 기본 데이터 타입과 마찬가지로 메모리가 생성된다는 것을 잊지 말기 바란다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
32 Java 2.3.1 클래스와 데이터 타입의 관계 IT장인 2013.11.22 385
31 Java 2.2.4 사용자 정의 데이터 타입 테스트 IT장인 2013.11.22 659
30 Java 2.2.3 메모리 생성 연산자 IT장인 2013.11.22 361
29 Java 2.2.2 클래스의 사용 IT장인 2013.11.22 358
28 Java 2.2.1 클래스 만들기 IT장인 2013.11.22 333
27 Java 2.1.5 클래스로 가는 길목 IT장인 2013.11.22 314
» Java 2.1.4 구조체의 사용 IT장인 2013.11.22 356
25 Java 2.1.3 구조체 만들기 IT장인 2013.11.22 361
24 Java 2.1.2 기본 데이터 타입의 한계 IT장인 2013.11.22 336
23 Java 2.1.1 핵심 Question IT장인 2013.11.22 290
22 Java 1.6.4 결론 IT장인 2013.11.21 332
21 Java 1.6.3 할당의 예 IT장인 2013.11.21 338
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6