이 글은 개발자를 위한 [어원] 노트 중 하나다. 앞서 simultaneous가 “정확히 같은 때에”를 가리켰다면, approximately는 정반대편 감각 — “정확하진 않지만 참값에 가장 가까운” — 을 담는다. 그리고 이 ‘가장 가까움’이 왜 소프트웨어 곳곳에 등장하는지가 이 글의 핵심이다.
한눈에 보기
| 항목 | 내용 |
|---|---|
| 단어 | approximately /əˈprɒk.sɪ.mət.li/ |
| 품사 | 부사 (형용사: approximate, 동사: approximate) |
| 의미 | 대략, 거의 — 정확하진 않지만 참값에 가깝게 |
| 핵심 뿌리 | 라틴어 proximus = “가장 가까운” (prope “가까이”의 최상급) |
| 어원 경로 | prope → proximus → 라틴어 approximare(가까이 다가가다) → approximate → -ly |
| 직역 | “가장 가까운 값으로” — 참값에 바짝 붙였지만 같지는 않은 |
| 기호 | ≈ (almost equal to), 축약 approx., 물결표 ~ |
| 가족 단어 | proximity, proximate, proximal, approach, rapprochement |
어원 분해
approximately
└── approximate (형용사/동사)
└── 라틴어 approximare (~에 가까이 다가가다)
├── ad- (~로, ~를 향해) → 뒤 자음에 동화되어 ap-
└── proximare (가까이 가다)
└── proximus (가장 가까운) ← prope(가까이)의 최상급
+ -ate (형용사·동사화)
+ -ly (부사화)
= ap(~로) + proxim(가장 가까운) + ate + ly
= "가장 가까운 값 쪽으로"
핵심은 proxim(가장 가까운)이다. approximate는 어원 그대로 “참값에 가까이 데려다 놓은” 값이라는 뜻이다. 그래서 approximately는 “틀렸다”가 아니라 “참값 옆에 최대한 붙였다”는 뉘앙스를 품는다. 개발에서 근삿값을 다룰 때의 태도가 이미 단어 안에 들어 있다.
prox- 가족 — ‘가까움’ 한 뿌리에서
approximately의 뿌리 proximus/prope는 “가까운”이라는 이미지를 가진다. 이 뿌리에서 뻗어 나온 단어들은 물리적 거리든 관계든 “거리가 짧다”는 감각을 공유한다.
| 단어 | 뜻 | 가까움과의 연결 |
|---|---|---|
| proximity | 근접성 | “가까이 있음” 그 자체 |
| proximate | 가장 가까운, 직접적인 | proximate cause = 직접 원인 |
| proximal | (해부) 몸통에 가까운 쪽 | proximal ↔ distal(먼 쪽) |
| approach | 다가가다, 접근법 | ad + prope 계열 — “가까이 감” |
| rapprochement | 관계 개선, 화해 | “다시 가까워짐” |
| approximate | 근사한 | “가장 가까운 값으로 데려감” |
approach가 “가까이 가는 행위”라면, approximate는 그 도착점을 값에 적용한 것이다 — “참값에 가장 가까이 데려다 놓은 결과”. 그래서 근삿값은 “approach의 명사형 결과물”처럼 읽으면 뜻이 선명해진다.
개발은 왜 이렇게 자주 approximate에 기대는가
문서·로그·추정치에서 approximately(≈, approx., ~)를 유난히 자주 만나는 건 우연이 아니다. 소프트웨어 공학의 상당 부분이 “정확함을 조금 포기하고 그 대가로 속도·공간·현실성을 얻는” 거래이기 때문이다. 그 거래의 이름이 곧 근사(approximation)다. 측정도 마찬가지다 — 탐지 성능을 하나의 수로 요약하는 F1 Score처럼, 복잡한 현실을 ‘충분히 가까운’ 한 값으로 눌러 담는 일이 곳곳에 있다.
| 영역 | 왜 근사인가 | 얻는 것 |
|---|---|---|
| 부동소수점 (IEEE 754) | 실수를 유한 비트로 저장 → 대부분 정확히 표현 불가 | 넓은 범위의 실수를 고정 비트로 다룸 |
| 확률형 자료구조 | HyperLogLog(고유 개수), Bloom filter(존재 여부)는 답을 근사 | 메모리를 극적으로 절약 |
| 근사 알고리즘 | NP-hard 문제는 최적해 대신 “충분히 가까운” 해 | 현실적인 시간 안에 해결 |
| Big-O 표기 | 정확한 실행 시간이 아니라 증가 추세를 근사 | 구현 무관하게 확장성 비교 |
| 모니터링·샘플링 | 모든 요청이 아니라 표본으로 지표를 추정 | 관측 비용을 낮춤 |
가장 익숙한 예 — 0.1 + 0.2
> 0.1 + 0.2
0.30000000000000004
거의 모든 언어에서 나오는 이 결과가 버그가 아니라 설계다. 컴퓨터는 0.1이나 0.2를 이진 부동소수점으로 정확히 담을 수 없어서 가장 가까운(proximus) 표현으로 근사한다. approximate의 어원이 “참값에 가장 가까이 데려다 놓은 값”이라는 걸 알면, 이 결과가 왜 “틀린 게 아니라 근사”인지가 단어만으로 설명된다.
그래서 돈 계산에는 부동소수점 대신 정수(최소 단위)나 decimal 타입을 쓴다. “approximately 맞다”가 허용되지 않는 도메인이기 때문이다. 언제 근사를 허용하고 언제 금지하는가가 곧 엔지니어링 판단이다.
예문
일반 영어
The meeting will last approximately two hours.
회의는 대략 두 시간 정도 걸릴 것이다.
There were approximately 200 people at the event.
행사에는 약 200명이 있었다.
The repair will cost approximately fifty dollars.
수리비는 대략 50달러쯤 될 것이다.
개발 영어 — 근사·추정 맥락
Floating-point numbers store real values only approximately.
부동소수점은 실수를 근사적으로만 저장한다.
The dashboard shows an approximate unique-visitor count via HyperLogLog.
대시보드는 HyperLogLog로 고유 방문자 수를 근사해서 보여준다.
The migration will take approximately three hours under current load.
현재 부하 기준으로 마이그레이션은 대략 세 시간쯤 걸릴 것이다.
Big-O describes the approximate growth of an algorithm, not its exact runtime.
Big-O는 알고리즘의 정확한 실행 시간이 아니라 근사적인 증가 추세를 나타낸다.
헷갈리기 쉬운 이웃 — approximate vs estimate vs round
| 단어 | 핵심 | 개발 맥락 |
|---|---|---|
| approximate | 참값에 가까운 값 (proxim = 가까움) | 근삿값, ≈, 근사 알고리즘 |
| estimate | 판단으로 매긴 추정 (aestimare = 값을 매기다) | 공수 산정, cardinality estimation |
| round | 정해진 자리에서 끊는 것 | 반올림 — round(x, 2) |
estimate는 “얼마쯤일까”를 판단하는 것이고, approximate는 참값이 있긴 한데 그 옆에 가장 가깝게 붙인 것이다. round는 그 근삿값을 만드는 연산 하나다. 어원을 알면 셋을 헷갈릴 일이 줄어든다.
파생어와 관련 표현
| 표현 | 의미 |
|---|---|
| approximation | 근사 (명사) |
| approximate value | 근삿값 |
| approximately equal (≈) | 거의 같음 |
| first-order approximation | 1차 근사 — 거친 첫 추정 |
| approximation algorithm | 근사 알고리즘 (NP-hard 대응) |
| approx. / ~ | “대략”의 축약·기호 |
함께 읽으면 좋은 개발 어원 노트
- [어원] simultaneous — ‘정확히 같은 때에’를 가리키는 단어. approximate가 ‘가장 가까운’이라면 그 반대편 감각이다.
- [어원] flaky — ‘비결정적’. 테스트 결과가 ‘대략 통과’면 안 되는 이유를 어원으로 본다.
- [어원] spike — 불확실을 줄이는 Agile 기술 검증. 근사·추정과 짝이 되는 태도.
- 개발 문서의 라틴어 접두사 7개 한 페이지 — approximately의 ap-(= ad-, “~로”)를 포함한 접두사 정리.
— 정성원 · seongwon.net · 공부하며 정리한 어원 노트
참고
- Cambridge Dictionary — approximately
- Online Etymology Dictionary — approximate
- Wikipedia — Approximation
답글 남기기