[go] 복합 데이터 타입

복합 데이터 타입은 여러 개의 데이터 요소를 하나로 묶은 데이터 타입을 의미합니다. 이러한 데이터 타입은 구조체, 클래스, 인터페이스 등의 형태로 사용될 수 있으며, 프로그래밍 언어에 따라 다양한 형태로 구현되어 있습니다. 이러한 복합 데이터 타입은 프로그래밍에서 다양한 목적으로 활용될 수 있습니다.

구조체(Struct)

구조체는 C 프로그래밍 언어에서 주로 사용되며, 다양한 데이터 타입을 하나의 논리적 단위로 묶을 수 있는 기능을 제공합니다. 각각의 데이터 요소는 필드(field) 또는 멤버(member)라고 불리며, 구조체를 통해 복합 데이터 타입을 정의하고 활용할 수 있습니다.

struct Person {
    char name[50];
    int age;
    float height;
};

위의 예시에서 Person 구조체는 이름, 나이, 키의 정보를 하나의 단위로 정의하고 있습니다.

클래스(Class)

클래스는 객체지향 프로그래밍 언어에서 주로 사용되는 복합 데이터 타입입니다. 클래스는 속성(attribute)와 행동(behavior)을 함께 묶어서 표현할 수 있는 기능을 제공하며, 이를 통해 객체를 생성하고 관리할 수 있습니다.

public class Car {
    private String brand;
    private int year;
    
    public void start() {
        // 시동을 건다
    }
}

위의 예시에서 Car 클래스는 브랜드, 연식의 정보와 함께 시동을 걸거나 멈출 수 있는 행동을 정의하고 있습니다.

인터페이스(Interface)

인터페이스는 객체지향 프로그래밍 언어에서 다른 클래스들이 구현해야 하는 메서드들의 목록을 정의하는 역할을 합니다. 인터페이스를 통해 다형성(polymorphism)을 구현하는 등의 기능을 활용할 수 있으며, 자바, C# 등에서 활발하게 활용됩니다.

public interface Shape {
    double calculateArea();
    double calculatePerimeter();
}

위의 예시에서 Shape 인터페이스는 도형의 면적과 둘레를 계산하는 기능을 정의하고 있으며, 이를 구현한 다양한 클래스들이 다형성을 활용할 수 있습니다.

위의 예시들을 통해 복합 데이터 타입이 프로그래밍에서 어떻게 활용되는지 간단하게 살펴보았습니다. 이와 같은 복합 데이터 타입을 적절히 활용함으로써 코드의 가독성을 향상시키고 유지보수성을 높일 수 있습니다.