Claude Code란?
Claude Code는 Anthropic의 Claude AI를 활용한 명령줄 기반 AI 코딩 어시스턴트입니다. 자연어 대화를 통해 코드를 작성하고, 리팩토링하고, 디버깅할 수 있습니다.
CLI 기반
터미널에서 직접 실행되며, 모든 운영 체제에서 사용 가능합니다
실시간 대화
자연어로 대화하듯이 프로그래밍할 수 있습니다
다중 언어 지원
모든 주요 프로그래밍 언어와 프레임워크를 지원합니다
Git 통합
커밋, PR 생성 등 Git 작업을 자동화합니다
대화형 프로그래밍
Claude Code의 핵심은 대화형 프로그래밍입니다. 명령어를 외우거나 복잡한 설정 파일을 작성하는 대신, 자연어로 원하는 것을 설명하면 Claude가 이해하고 실행합니다.
명령형 프로그래밍 vs 대화형 프로그래밍
기존 방식
# 여러 단계 필요
mkdir components
cd components
touch Button.tsx
# 코드 작성...
# 테스트 작성...
# 스타일 추가...Claude Code
"React 버튼 컴포넌트를 만들어줘. Tailwind CSS를 사용하고, hover 효과와 로딩 상태를 포함해줘."
점진적 정제
처음부터 완벽한 명령을 내릴 필요가 없습니다. Claude와 대화하며 점진적으로 결과를 개선할 수 있습니다.
You:
"이 함수의 성능을 개선해줘"
Claude:
[코드 최적화 수행] "메모이제이션을 추가했습니다..."
You:
"에러 핸들링도 추가해줘"
Claude:
[에러 핸들링 추가] "try-catch 블록을 추가했습니다..."
컨텍스트 인식
Claude Code는 단순히 명령을 실행하는 것이 아니라, 프로젝트 전체를 이해하고 맥락에 맞는 코드를 생성합니다.
- 프로젝트 구조 분석: 디렉토리 구조와 파일 관계를 파악합니다
- 코드 스타일 학습: 기존 코드의 스타일과 패턴을 따릅니다
- 의존성 인식: package.json, requirements.txt 등을 분석합니다
- 프레임워크 감지: React, Vue, Express 등을 자동으로 감지합니다
- Git 히스토리: 커밋 히스토리를 참고하여 변경 이유를 이해합니다
컨텍스트 활용 예시
"로그인 기능을 추가해줘"라고 요청하면, Claude는:
- 1기존 인증 방식 확인 (JWT, Session 등)
- 2사용 중인 프레임워크의 인증 패턴 적용
- 3기존 API 엔드포인트 구조를 따름
- 4이미 있는 에러 핸들링 방식 사용
- 5프로젝트의 코드 스타일 준수
도구 사용
Claude Code는 다양한 도구를 사용하여 작업을 수행합니다. 이러한 도구들은 자동으로 선택되고 실행됩니다.
파일 도구
파일 읽기, 쓰기, 편집, 삭제 등 파일 시스템 작업
- Read
- Write
- Edit
- Delete
- Search
Bash 도구
명령줄 명령 실행 (git, npm, docker 등)
- Git 명령
- 패키지 관리
- 빌드 실행
- 테스트 실행
MCP 도구
외부 서비스 및 데이터베이스 연동
- 데이터베이스 쿼리
- API 호출
- 파일 시스템 접근
- 커스텀 도구
스킬
특화된 작업을 위한 재사용 가능한 도구
- PDF 생성
- 문서 작성
- 테스트 생성
- 코드 리뷰
기본 워크플로우
Claude Code를 사용한 일반적인 개발 워크플로우입니다.
프로젝트 시작
# 프로젝트 디렉토리에서 Claude Code 실행
cd my-project
claudeClaude가 프로젝트를 분석하고 컨텍스트를 로드합니다
작업 요청
"사용자 인증 API를 만들어줘. JWT를 사용하고 refresh token도 구현해줘."
자연어로 원하는 기능을 설명합니다
Claude 작업 수행
Claude가 필요한 파일을 생성하고 코드를 작성합니다:
- auth.controller.ts 생성
- auth.service.ts 생성
- JWT 유틸리티 함수 추가
- 라우터에 엔드포인트 등록
- 타입 정의 추가
리뷰 및 개선
생성된 코드를 검토하고 필요한 수정 요청:
→ "에러 핸들링을 더 구체적으로 해줘"
→ "테스트 코드도 추가해줘"
→ "환경 변수 설정을 README에 추가해줘"
커밋 및 배포
# Claude에게 커밋 요청
"변경사항을 커밋해줘"
# 또는 슬래시 명령어 사용
/commitClaude가 변경사항을 분석하고 적절한 커밋 메시지를 생성합니다
용어 정리
Claude Code에서 자주 사용되는 용어들을 정리했습니다.
컨텍스트 (Context)
Claude가 이해하고 있는 프로젝트의 전체 정보. 파일 구조, 코드 내용, Git 히스토리 등을 포함합니다.
도구 (Tool)
Claude가 작업을 수행하기 위해 사용하는 기능. 파일 읽기/쓰기, Bash 명령 실행, API 호출 등이 있습니다.
스킬 (Skill)
특정 작업에 특화된 재사용 가능한 기능 모듈. PDF 생성, 코드 리뷰 등의 복잡한 작업을 캡슐화합니다.
MCP (Model Context Protocol)
Claude가 외부 서비스 및 데이터 소스와 안전하게 통신할 수 있게 하는 프로토콜입니다.
MCP 서버
MCP 프로토콜을 구현한 서버. 데이터베이스, 파일 시스템, API 등의 리소스에 대한 접근을 제공합니다.
슬래시 명령어 (Slash Command)
/로 시작하는 특수 명령어. /help, /commit, /clear 등이 있습니다.
자연어 명령 (Natural Language Command)
평범한 문장으로 내리는 명령. '파일을 만들어줘', '이 함수를 리팩토링해줘' 등.
에이전트 (Agent)
특정 작업을 자율적으로 수행하는 전문화된 Claude 인스턴스. explore, plan 등의 에이전트가 있습니다.
프롬프트 (Prompt)
Claude에게 전달되는 사용자의 요청이나 질문. 자연어 또는 슬래시 명령어 형태입니다.
세션 (Session)
Claude Code를 실행한 후부터 종료할 때까지의 대화 기간. /clear로 세션을 초기화할 수 있습니다.