C#문법

[C#문법] Part11 구조체(struct)

BlackWolfDev 2024. 10. 4. 17:01

[ 개요 ]

객체지향 프로그래밍이란 객체(object)'라는 기본 단위로 나누고 이들의 상호 작용으로 서술하는 방식이다. 객체는 변수와 매소드(함수)로 구성이 되어 있다.

자바, C# 등과 같은 언어는 객체지향 언어이다. C언어와 같은 절차지향 언어에서는 클래스라는 개념이 없어서 구조체를 사용하였다. 저자는 구조체를 먼저 이해하면 클래스라는 개념도 이해하기 쉬울 거라 생각이 들어 이번 파트에는 구조체를 먼저 짚고 넘어가고자 한다.


[ 구조체란 ]

필요한 변수들을 모아서 새로운 데이터형처럼 사용하는 것을 구조체라고 한다.

앞서 배운 자료형들(int, float, string 등)을 여러 개를 활용해서 구조체를 만들 수 있는 것이다.


[ 활용 예시 ]

3차원 평면상의 위치를 나타낼 때 x, y, z 축 좌표값을 이용한다. 이것을 쌍으로 처리하면 유용하기에 구조체를 활용할 수 있다.
또한 학생들 시험 성적 데이터를 처리할 때도 이름, 반, 번호, 국어 성적, 수학 성적 등 다양한 데이터들도 구조체를 활용하면 유용하게 처리할 수 있다.


[ 구현 방법 ]

struct 구조체의 이름
{
    자료형 변수명;
    자료형 변수명;
}

구조체의 사용은 위와 같이 할 수 있다.

구조체의 키워드를 사용하고 중괄호를 이용하여 원하는 자료형들을 여러 개 묶어서 구현이 가능하다

struct Point
{
    public float x;
    public float y;
}

위에는 point라는 구조체를 선언하여 멤버 변수로 x, y 축 좌표로 묶어둔 예시이다.

 


[ 사용 예시 ]

구조체자료형 변수이름;
변수이름.멤버변수 = 값;

사용법은 위와 같다.
구조체 자료형을 이용하여 구조체를 선언한다
구조체 안에 있는 자료형의 접근은 점(.)을 이용하여 가능한데 변수 이름에 점(.)을 입력한 다음 해당 멤버 변수를 가져온 다음 값을 대입해 주면 된다.

class ProgramClass
{
    public static void Main()
    {
        Point point; //구조체 선언
        point.x = 2.5f; //멤버 변수 x에 2.5라는 값 입력
        point.y = 3.1f; //멤버 변수 y에 3.1라는 값 입력
    }
}

앞선 구현 방법에서 구현했던 Point라는 구조체를 사용한 코드이다.
구체적인 설명은 주석을 참고하면 된다.


[ 실행 결과 ]

 

728x90
반응형