🧠 들어가며
개발을 하다 보면 알고리즘(Algorithm)과 로직(Logic)이라는 용어를 자주 접하게 됩니다. 두 개념은 비슷하게 느껴져서 혼동하기 쉽지만, 실제로는 범위와 역할이 분명히 다릅니다.
이 글에서는 두 개념의 차이를 요리 비유와 구체적인 예시를 통해 이해하기 쉽게 정리해보겠습니다.
🍳 1. 요리로 비유해 보기
- 알고리즘 = 요리 레시피
어떤 요리를 만들기 위해 필요한 재료와 순서를 체계적으로 나열한 설계도.
- 로직 = 요리사의 판단과 행동
레시피를 보고 불 세기를 조절하고, 재료를 손질하며, 상황에 맞춰 조리법을 조정하는 구체적인 행동.
🔷 2. 알고리즘 (Algorithm)
정의
문제를 해결하기 위한 체계적이고 명확한 절차 또는 단계의 집합.
입력값에서 원하는 출력값까지 가는 과정을 언어에 종속되지 않고 추상적으로 설계합니다.
특징
- 전체적인 접근 방식을 다룸
- 순서, 반복, 조건 등 절차적 구조 포함
- 프로그래밍 언어와 독립적
- 효율성이 핵심 (시간·메모리 최적화)
- 예: "데이터를 오름차순으로 정렬" → 버블 정렬, 퀵 정렬 등 다양한 방법 존재
🔷 3. 로직 (Logic)
정의
알고리즘의 각 단계를 실제 코드로 구현하기 위해 필요한 구체적인 판단과 규칙.
특징
- 알고리즘의 실행 세부사항에 해당
- 조건문(if), 반복문(while/for) 등을 사용
- '비즈니스 로직'처럼 특정 상황에 맞춘 규칙 포함
- 예: "회원가입 시 아이디 중복 확인 → 비밀번호 8자 이상 확인 → 조건 충족 시 가입 허용"
📊 4. 핵심 비교 표
| 구분 | 알고리즘 (Algorithm) | 로직 (Logic) |
|---|
| 범위 | 문제 해결의 전체 절차 (추상적) | 알고리즘 각 단계의 구체적 판단 (구체적) |
| 역할 | 무엇을 할 것인가 | 어떻게 할 것인가 |
| 예시 | 버블 정렬, 다익스트라 | “현재 숫자가 다음 숫자보다 크면 자리 바꿈” |
| 관점 | 효율성과 최적화 | 조건 만족과 정확한 동작 |
🎯 5. 함께 이해하기
- 알고리즘은 전략입니다. (무엇을 할지)
- 로직은 전술입니다. (어떻게 할지)
- 실제 개발에서는 알고리즘을 먼저 설계한 뒤, 이를 로직으로 풀어내며 코드를 완성합니다.