---
id: "최적화(Optimization) 20260317"
created: "2026-03-17 16:59"
tags:
aliases:
---
## 💡 생각  
이곳에 하나의 생각 또는 아이디어를 작성합니다.

---
## 📌 상세
### 1. 설계의 최적화 = 구조의 단순화

흔히 최적화라고 하면 '기교를 부려 속도를 높이는 것'을 생각하기 쉽지만, 가장 높은 수준의 최적화는 **불필요한 단계를 제거**하는 것입니다.

- **복잡한 로직:** A를 거쳐 B를 확인하고 C를 실행한다.
    
- **최적화된 로직:** 바로 C를 실행해도 문제가 없음을 발견하고 중간 과정을 삭제한다.
    
- **결과:** 성능은 빨라지고(최적화), 코드는 짧아집니다(단순화).
    

### 2. 인지적 최적화 (Cognitive Optimization)

코드는 컴퓨터만 읽는 게 아니라 사람도 읽습니다. 읽기 복잡한 코드는 디버깅과 유지보수 시간을 엄청나게 잡아먹죠.

- **단순한 코드**는 개발자가 코드를 이해하는 데 드는 **뇌의 연산 비용(Cognitive Load)**을 최소화해 줍니다.
    
- 결과적으로 전체 개발 프로세스의 성능을 높이는 '사람을 위한 최적화'가 되는 셈입니다.
    

### 3. 알고리즘적 최적화

예를 들어, 데이터를 찾을 때 전체를 다 뒤지는 `O(n)` 방식보다, 정렬된 데이터에서 이진 탐색을 하는 `O(log n)` 방식이 훨씬 빠릅니다.

- 때로는 효율적인 알고리즘(최적화)을 선택하는 것이, 지저분한 예외 처리를 잔뜩 넣어둔 이전 코드보다 훨씬 **간결하고 명확(단순화)**할 수 있습니다.

## 📝 노트
> [!note]
> 
> - 관련 사례나 반대되는 개념이 있다면 여기에 기록하세요.
>     
> - 본인의 언어로 풀어서 쓰는 것이 제텔카스텔의 핵심입니다.
>

---
