드라이
정의
- 일반 의미: 영어 형용사 dry를 한국어 표기법에 따라 음차한 형태로, ‘젖지 않은’, ‘습기가 없는’이라는 뜻이다.
- 전산·소프트웨어 분야: DRY는 “Don’t Repeat Yourself”(반복을 하지 말라)의 약자로, 프로그램 코드나 설계에서 동일한 지식을 중복해서 기술하지 않도록 권장하는 설계 원칙을 가리킨다. 한국어 기술 서적·블로그 등에서는 이 원칙을 ‘드라이 원칙’ 또는 ‘드라이(법칙)’이라고 부른다.
어원
- 영어 동사 dry는 고대 영어 drȳge에서 유래했으며, ‘젖지 않게 하다’라는 의미를 가진다.
- 소프트웨어 분야의 DRY는 1999년 앤드류 헌트와 데이빗 토머스가 저술한 《The Pragmatic Programmer》에서 처음 제시된 원칙이며, 영어 약어를 그대로 차용해 한국어 표기법에 맞게 “드라이”라고 표기한다.
주요 사용 맥락
-
프로그래밍
- 함수, 클래스, 모듈 등에서 동일한 로직을 여러 곳에 복제하는 대신 재사용 가능한 형태로 정리할 때 ‘드라이’를 적용한다.
- 예: 데이터베이스 접근 로직을 하나의 DAO(데이터 접근 객체)로 통합하거나, 공통 검증 로직을 유틸리티 함수로 분리하는 경우.
-
소프트웨어 설계·문서화
- 설계 문서, API 명세 등에 중복 서술을 최소화하고, 한 번 정의된 내용은 참조 형식으로 재사용한다.
-
일반 언어
- “오늘은 날씨가 드라이하다”와 같이 날씨·음식·피부 상태 등을 ‘건조함’이라는 뜻으로 사용한다.
관련 개념
- KISS(Keep It Simple, Stupid): 복잡성을 최소화하라는 원칙과 함께 자주 언급됨.
- YAGNI(You Aren’t Gonna Need It): 필요 없는 기능을 미리 구현하지 말라는 원칙으로, 드라이와 함께 코드 중복 방지에 기여한다.
주의 사항
- 드라이 원칙을 과도하게 적용하면 추상화가 지나쳐 이해도가 떨어지는 ‘과잉 일반화(over‑abstraction)’ 문제가 발생할 수 있다. 따라서 코드 가독성과 유지보수성을 균형 있게 고려해야 한다.
결론
‘드라이’는 일상 언어에서는 ‘건조한’이라는 의미로, 소프트웨어 공학에서는 ‘중복을 피하라’는 설계 원칙을 가리키는 용어로 널리 사용된다. 두 의미 모두 영어 ‘dry’와 그 약어 DRY에 기초한 것이며, 각각의 분야에서 명확한 정의와 적용 사례가 존재한다.