구조체 클래스

구조체(struct)와 클래스(class)는 프로그래밍 언어에서 데이터를 구조화하고 모듈화하는 데 사용되는 중요한 개념입니다. 이 두 가지 개념은 객체지향 프로그래밍의 기본적인 구성 요소로 사용되며, 데이터와 해당 데이터에 대한 동작을 함께 묶을 수 있게 해줍니다.

구조체 (Struct)

구조체는 C, C++ 등의 언어에서 사용되는 개념으로, 여러 개의 데이터를 묶어 하나의 자료형으로 정의하는 데 사용됩니다. 일반적으로 각각의 데이터 멤버가 독립적으로 존재하며, 상호 연관성이 크지 않을 때 사용됩니다.

구조체는 다음과 같이 선언할 수 있습니다.

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

위의 예제에서 Person은 구조체의 이름이며, name, age, height는 구조체의 데이터 멤버입니다.

구조체는 각각의 멤버에 접근하기 위해 .을 사용합니다.

struct Person p1;

strcpy(p1.name, "John");
p1.age = 30;
p1.height = 175.5;

클래스 (Class)

클래스는 Java, C#, Python 등의 객체지향 언어에서 사용되는 개념으로, 구조체보다 더 복잡한 데이터와 해당 데이터에 대한 동작을 함께 묶을 때 사용됩니다.

클래스는 다음과 같이 선언할 수 있습니다.

class Person:
    def __init__(self, name, age, height):
        self.name = name
        self.age = age
        self.height = height

    def say_hello(self):
        print("Hello, my name is", self.name)

위의 예제에서 Person은 클래스의 이름이며, __init__은 생성자(Constructor)로, 객체를 생성할 때 호출되는 특별한 메서드입니다. say_hello는 클래스의 메서드로, 해당 객체에 대한 동작을 정의합니다.

클래스는 객체를 생성하고 해당 객체의 메소드를 호출하여 사용할 수 있습니다.

p1 = Person("John", 30, 175.5)
p1.say_hello()

결론

구조체와 클래스는 프로그래밍에서 데이터를 구조화하고 모듈화하는 도구로 사용됩니다. 구조체는 연관성이 적은 단순한 데이터를 묶고자 할 때 사용되며, 클래스는 객체지향 프로그래밍에서 데이터와 해당 데이터에 대한 동작을 함께 묶을 때 사용됩니다. 이러한 개념을 잘 이해하고 적절히 활용하여 효율적인 프로그래밍을 할 수 있습니다.

#programming #struct #class