시스템 프로그래밍을 위한 언어의 방법들 (2023)
시스템 프로그래밍 언어에서 메서드에 관한 본 글은, C 언어와 그 대체 언어들에서 메서드의 존재 여부와 역할을 비교 분석합니다.
C 언어는 네임스페이스가 없어 함수명에 접두사를 붙여 데이터 구조와 연관된 함수들을 메서드처럼 사용하는 방식을 취하며, 이는 여러 유명 프로젝트에서 널리 활용됩니다.
반면, Odin과 Hare 같은 일부 신생 시스템 언어는 데이터와 코드를 분리하는 철학으로 메서드를 제공하지 않으며, Zig와 C3는 메서드를 지원합니다.
저자는 메서드가 데이터와 행위를 논리적으로 묶는 데 유용하며, 단순히 메서드가 없다고 해서 데이터와 코드가 완전히 분리되는 것은 아니라고 지적합니다.
또한, C++ 대체 언어들은 대체로 더 풍부한 기능과 런타임을 갖추고 있어 메서드를 포함하는 경향이 있으며, 이 글에서는 주로 C와 직접 경쟁하는 최소주의 시스템 언어들을 중심으로 논의합니다.