나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2025-07-14 20:24:45

메타프로그래밍


이 문서는 토막글입니다.

토막글 규정을 유의하시기 바랍니다.


1. 개요2. 기술 목록3. 관련 문서

1. 개요

Metaprogramming

메타프로그래밍이란 자기 자신을 포함한 어떠한 프로그램/소스코드를 수정하거나 생성하는 프로그래밍 기법이다.

예를 들자면, 어떠한 동작을 수행하는 코드는 '프로그래밍'이며, 이러한 코드를 받아 변형하여 추가적인 기능을 덧붙이는 코드는 '메타프로그래밍'이다.

메타프로그래밍은 엄밀히 정의된 개념은 아니며, 이를 응용한 각 기술들에 따라 의미하는 바가 달라질 수 있다. 우선 코드의 변형이 런타임 시간, 컴파일 시간에 이뤄지는지도 확실하지 않고, 그 행위가 코드의 수정/생성인지, 아니면 단순히 코드상에만 존재하는 개념을 실행시에 확인할 수 있도록 하는지도 확립된 바는 없다.

2. 기술 목록

3. 관련 문서


[1] 클래스의 매서드 구조, 함수의 인자 타입, 코드 텍스트 자체 등등