[c언어] C 언어에서의 객체 지향적 코드 재사용

C 언어는 객체 지향적인 프로그래밍을 지원하지는 않지만, 코드를 재사용하고 모듈화하는 기술은 매우 중요합니다.

매크로(Macro)를 활용한 코드 재사용

매크로는 C 언어에서 코드를 작성하는데 도움을 주는 강력한 도구 중 하나입니다. 다음은 매크로를 사용하여 코드를 재사용하는 간단한 예시입니다.

#include <stdio.h>

#define MAX(a, b) ((a) > (b) ? (a) : (b))

int main() {
    int x = 5;
    int y = 10;
    int max_value = MAX(x, y);
    printf("The maximum value is %d\n", max_value);
    return 0;
}

위 예시에서 MAX 매크로를 사용하여 두 수 중에서 더 큰 값을 반환하는 코드를 재사용했습니다.

함수 포인터를 활용한 코드 재사용

함수 포인터를 사용하면 함수를 다른 함수에 매개변수로 전달하거나 함수의 반환 값으로 사용할 수 있습니다. 이는 C 언어에서 코드를 재사용하고 유연하게 작성하는데 도움이 됩니다.

#include <stdio.h>

int add(int a, int b) {
    return a + b;
}

int subtract(int a, int b) {
    return a - b;
}

int operation(int (*func)(int, int), int x, int y) {
    return func(x, y);
}

int main() {
    int x = 10;
    int y = 5;
    printf("Addition: %d\n", operation(add, x, y));
    printf("Subtraction: %d\n", operation(subtract, x, y));
    return 0;
}

위 예시에서 operation 함수를 선언하고, 함수 포인터를 활용하여 addsubtract 함수를 매개변수로 전달하여 코드를 재사용했습니다.

이러한 방법을 통해 C 언어에서도 객체 지향적인 개념을 일부 가져와서 코드를 재사용하고 모듈화할 수 있습니다.


참고 자료: