Anthropic의 모델 구조에서 Opus 5와 Fable 5/5.1을 어떻게 역할 분담해야 할까?
Claude Code 실무 모델 선택 가이드
Opus 5 · Sonnet 5 · Fable 5.1 · Effort를 어떻게 조합할까?
Claude Code를 제대로 활용하려면 단순히 가장 비싼 모델을 고르는 것보다 작업 난이도, 작업 범위, 자율 실행 시간, Effort를 함께 판단해야 한다.
먼저 바로잡아야 할 부분
이전 글에서 모델의 역할을 지나치게 단순하게 설명한 부분이 있었다. 특히 Fable 5.1을 단순히 "Opus보다 높은 모델"로 표현하거나, 모든 모델에 동일한 Effort 체계를 적용하는 식의 설명은 정확하지 않다.
Anthropic의 현재 공식 문서를 기준으로 보면 Claude Opus 5와 Claude Sonnet 5는 모두 adaptive thinking을 사용하며 기본 Effort는 High이다. Opus 5는 Low, Medium, High, XHigh, Max 전체 Effort 범위를 지원한다. 반면 Fable 계열은 thinking이 항상 활성화되는 별도의 동작 특성을 가진다.
어떤 작업을 어떤 모델에 맡기고, 그 모델에서 어느 정도의 Effort를 사용할 것인가가 핵심이다.
1. 2026년 9월 현재 Claude 개발 모델의 위치
2026년 9월 8일 현재 Anthropic의 공식 발표와 문서를 기준으로 개발자가 우선적으로 이해해야 할 모델은 Claude Sonnet 5, Claude Opus 5, Claude Fable 5.1이다.
Sonnet 5는 2026년 6월 30일 발표됐고, Anthropic은 이를 코딩·Agent·전문 업무를 대규모로 수행하기 위한 모델로 설명한다. Anthropic은 Sonnet 5의 성능이 Opus 4.8에 근접하면서 더 낮은 가격으로 제공된다고 설명했다.
Opus 5는 2026년 7월 24일 공개됐으며, Anthropic은 장시간 Agent 작업과 코딩·전문 업무에서 큰 성능 향상을 제공하는 모델로 설명한다. Claude Max에서는 새로운 기본 모델로 소개됐다.
Fable 5.1은 2026년 9월 1일 공개된 최신 Fable 모델이다. Anthropic은 Fable 5.1을 가장 어려운 코딩 및 지식 작업을 위한 모델로 소개하면서 장시간 비동기 Agent 작업, 전체 코드베이스를 가로지르는 기능 개발, 코드 리뷰, 성능 작업 및 멀티데이 자율 세션을 주요 활용 사례로 제시한다.
| 모델 | 현재 위치 | 실무 핵심 | 대표 작업 |
|---|---|---|---|
| Sonnet 5 | Workhorse | 속도·비용·Agent 실행의 균형 | 일반 Feature, CRUD, Bug Fix, 테스트 |
| Opus 5 | 고성능 개발 모델 | 복잡한 추론과 고난도 개발 | 복잡한 Bug, Refactoring, Architecture |
| Fable 5.1 | 최고 수준의 일반 모델 | 장시간·대규모·비동기 작업 | 전체 코드베이스, 장기 Agent, 고난도 Review |
2. "Claude 코딩은 Opus 5가 기본값"이라는 말은 어떻게 이해해야 하나?
이 표현은 사용 중인 Claude 요금제와 환경을 구분해서 이해해야 한다.
Anthropic은 Opus 5 발표에서 Claude Max의 새로운 기본 모델이라고 설명했다. 따라서 Max 사용자가 Claude Code에서 Opus 5를 기본 모델로 사용하는 상황은 공식 설명과 일치한다.
하지만 이를 "모든 Claude Code 사용자의 유일한 기본 모델이 Opus 5"라고 일반화하면 정확하지 않다. Sonnet 5 역시 Claude Code에서 사용할 수 있고, Anthropic은 Sonnet 5를 workhorse 성격의 모델로 설명하고 있다.
Opus 5가 기본으로 선택되어 있다고 해서 모든 작업을 Opus 5로 처리해야 한다는 의미는 아니다. 실제 개발에서는 Sonnet 5와 Opus 5를 작업 성격에 따라 나누는 것이 효율적이다.
3. Sonnet 5는 실무에서 가장 중요한 Workhorse다
Sonnet 5를 단순한 "저가형 모델"로 보면 안 된다. Anthropic은 Sonnet 5를 매우 강한 Agentic 모델로 소개하고 있으며, 브라우저와 터미널 같은 도구를 사용하고 계획을 세우며 자율적으로 작업할 수 있다고 설명한다.
특히 Sonnet 5는 비용과 성능 사이의 선택지가 넓다는 것이 중요한 특징이다. Anthropic은 Effort 수준에 따라 비용과 성능을 조절할 수 있으며, 일부 높은 Effort 작업에서는 Opus 4.8에 근접한 성능을 낼 수 있다고 설명한다.
Backend
- Controller
- Service
- Repository
- DTO
- API
- Validation
Frontend
- Vue 컴포넌트
- React 컴포넌트
- jQuery 수정
- API 연동
- Form
- UI Bug Fix
Database
- CRUD SQL
- Stored Procedure
- Dapper Query
- EF Core Query
- 간단한 Index 검토
Maintenance
- 일반 Bug Fix
- 테스트 코드
- 문서화
- 코드 정리
- 반복적인 파일 수정
반복적으로 발생하는 개발 작업을 모두 Opus 5에 맡기는 것보다 Sonnet 5를 주력 실행 모델로 사용하는 것이 비용과 처리량 측면에서 합리적이다.
4. Opus 5는 "막히면 올리는 모델"이 아니라 고난도 개발 모델이다
Opus 5는 단순히 Sonnet보다 조금 더 좋은 모델이라고 이해하기보다는 복잡한 문제를 해결하는 데 더 많은 모델 능력을 투입할 필요가 있을 때 사용하는 모델로 보는 것이 좋다.
특히 다음과 같은 작업에서는 Opus 5의 사용 가치가 높다.
- 원인이 명확하지 않은 Bug
- 여러 프로젝트에 걸친 변경
- 복잡한 상태 관리
- Concurrency / Race Condition 분석
- 복잡한 SQL과 Application의 상호작용 분석
- 대규모 Refactoring
- 기존 Architecture의 문제 분석
- 성능 저하 원인 분석
- 보안·권한 구조의 복잡한 문제
5. Fable 5.1은 "항상 가장 강한 코딩 모델"로 쓰는 것이 아니다
2026년 9월 1일 공개된 Fable 5.1은 현재 Anthropic이 가장 어려운 코딩 및 지식 작업을 위한 최신 일반 모델로 소개하고 있다.
특히 Anthropic이 명시적으로 제시한 Fable 5.1의 Coding 활용 분야는 전체 코드베이스를 가로지르는 기능 개발, 코드 리뷰, 성능 작업, 멀티데이 자율 세션이다.
따라서 Fable 5.1은 단순 CRUD 하나를 작성하는 데 사용하는 것보다 작업 자체가 장시간 지속되거나 여러 시스템·파일·도구를 가로지르는 경우에 가치가 높다.
Fable 5.1을 고려할 상황
- 전체 Solution 분석
- 대규모 Legacy Migration
- Architecture 전환
- 전체 코드베이스 수준의 Feature 개발
- 장시간 Code Review
- 대규모 성능 개선
- 여러 애플리케이션에 걸친 변경
- 수 시간 이상 지속되는 Agent 작업
- 사람이 계속 붙어 있지 않아도 진행해야 하는 비동기 작업
6. 중요한 차이: Fable 5.1은 thinking이 항상 활성화된다
여기에서 이전 설명을 반드시 수정해야 한다.
Anthropic 공식 Prompting 문서에 따르면 Opus 5와 Sonnet 5는 adaptive thinking이 기본적으로 활성화되어 있으며, Effort를 통해 thinking의 깊이를 조절한다.
반면 Fable 5와 Mythos 5는 thinking이 항상 활성화되어 있으며 adaptive thinking만 사용하는 별도의 동작 특성을 가진다.
"모든 모델에서 Low → Medium → High → XHigh → Max를 똑같이 적용한다"는 식으로 설명하면 안 된다. 실제 사용 가능한 Effort와 thinking 동작은 모델별 공식 문서를 확인해야 한다.
7. Opus 5의 Effort는 어떻게 사용하는가?
Anthropic 공식 문서에서 Opus 5는 Low, Medium, High, XHigh, Max 전체 Effort 수준을 지원하며 기본값은 High다.
| Effort | 실무 용도 | 판단 |
|---|---|---|
| Low | 단순하고 결과가 명확한 작업 | 속도·토큰 절약 |
| Medium | 일반적인 구현 | 비용 절감 |
| High | 일반적인 고난도 실무 | 기본값 |
| XHigh | 장시간·복잡한 Agent 및 코딩 | 고난도 작업 |
| Max | 최대 능력이 중요한 작업 | 선별 사용 |
Anthropic은 Max Effort가 어려운 작업에서 이점을 줄 수 있지만 토큰 사용량 증가에 따른 수익 감소가 있을 수 있고, 간단한 작업에서는 과도하게 생각할 수 있다고 설명한다.
8. "Effort를 높이면 무조건 더 좋은 코드"라는 생각은 버려야 한다
Effort는 품질을 무조건 상승시키는 버튼이 아니라 모델의 지능 사용량과 비용·속도 사이의 균형을 조정하는 도구다.
예를 들어 다음과 같은 코드 변경을 생각해 보자.
Controller에 새로운 GET Action 하나를 추가하고
기존 Service 메서드를 호출한다.
이런 작업에 Opus 5 Max를 사용할 이유는 거의 없다. 문제 자체가 복잡하지 않기 때문이다.
반대로 다음과 같은 작업이라면 이야기가 달라진다.
예시
"600명 이상이 사용하는 ASP.NET MVC 시스템에서 특정 시간대에만 발생하는 중복 처리 문제를 Application → Redis → Queue → MSSQL까지 추적하고 재현 테스트와 수정안을 만들어라."
이 정도의 작업은 단순 코드 생성이 아니라 코드베이스 탐색 → 가설 수립 → 로그 분석 → 데이터 흐름 분석 → 수정 → 테스트 → 검증이 필요하다. 이런 경우 Opus 5의 높은 Effort를 사용하는 의미가 생긴다.
9. 실무에서 추천하는 Model × Effort 전략
| 작업 | 1차 Model | Effort | 승격 조건 |
|---|---|---|---|
| 단순 코드 수정 | Sonnet 5 | Low~Medium | 문제 발생 시 High |
| 일반 Feature | Sonnet 5 | Medium~High | 복잡한 설계면 Opus |
| 복잡한 Bug | Opus 5 | High~XHigh | 시스템 전체 문제면 Fable |
| 대규모 Refactoring | Opus 5 | XHigh | 장기 작업이면 Fable |
| 전체 코드베이스 작업 | Fable 5.1 | 모델 특성에 맞춰 사용 | 사람의 Review |
| 멀티데이 Agent | Fable 5.1 | 모델 특성에 맞춰 사용 | 중간 Checkpoint |
Fable 5.1에 대해 Opus 5와 동일한 Effort 표를 적용해 "High~Max"라고 단정하는 방식은 피해야 한다. 공식 문서는 Fable 계열의 thinking 동작을 별도로 설명하므로, Fable은 모델 자체의 장시간 Agent 특성과 작업 범위를 중심으로 선택하는 것이 안전하다.
10. 가장 현실적인 승격 규칙
빠르게 구현하고 테스트한다.
같은 모델로 해결 가능한 문제인지 먼저 판단한다.
복잡한 Bug, 설계, 성능, 동시성 문제를 해결한다.
전체 코드베이스와 장시간 자율 작업이 필요할 때 사용한다.
11. "Fable → Opus → Sonnet" 구조는 실제로 의미가 있는가?
그렇다. 다만 이것을 항상 고정된 순서로 실행해야 한다는 의미는 아니다.
Anthropic은 2026년 7월 model orchestration 관련 세션에서 Fable을 Advisor로 사용하고 다른 모델이 실제 작업을 수행하는 패턴을 소개했다. 해당 자료에서는 Fable 또는 Opus가 계획하고 위임하며 Sonnet이나 Haiku가 실행하는 전략을 설명한다.
Fable 5.1
전체 문제의 구조와 장기적인 작업 방향을 판단한다.
Opus 5
어려운 구현과 복잡한 문제 해결을 담당한다.
Sonnet 5
반복 구현과 다수의 일반적인 코드 변경을 담당한다.
Opus 5 → 난제 해결
Sonnet 5 → 실행
Human → 승인 및 최종 검증
12. ASP.NET MVC + C# + MSSQL 프로젝트에 적용한다면
실제 엔터프라이즈 개발 환경에서는 다음과 같이 나누는 것이 실용적이다.
| 업무 | 추천 Model | Effort | 이유 |
|---|---|---|---|
| Controller 추가 | Sonnet 5 | Medium | 일반 구현 |
| Service 추가 | Sonnet 5 | Medium~High | 반복적인 개발 |
| Dapper Query | Sonnet 5 | Medium | 일반 SQL |
| 복잡한 SQL 튜닝 | Opus 5 | High~XHigh | 실행계획·Index·데이터 흐름 분석 |
| Vue / React Feature | Sonnet 5 | Medium~High | 일반 Frontend |
| Race Condition | Opus 5 | XHigh | 복잡한 추론 |
| ASP.NET MVC → Core 대규모 Migration | Fable 5.1 | 작업 규모에 맞춰 판단 | 전체 Solution 분석 |
| 전체 시스템 Architecture 변경 | Fable 5.1 | 작업 규모에 맞춰 판단 | 장기·다단계 작업 |
13. SQL 튜닝에서는 Model보다 Context가 먼저다
SQL 성능 문제를 AI에게 전달하면서 단순히 "이 SQL 튜닝해줘"라고 요청하는 것은 좋은 방법이 아니다.
다음 정보를 함께 제공해야 한다.
단순 SQL이라면 Sonnet 5, 복잡한 실행계획과 여러 계층의 병목을 분석해야 한다면 Opus 5, DB 문제가 시스템 Architecture와 연결되어 전체 구조를 바꿔야 한다면 Fable 5.1을 고려하는 방식이 좋다.
14. Legacy ASP.NET MVC 프로젝트라면 이렇게 접근한다
전체 Solution, 프로젝트 구조, Dependency, 인증, 데이터 접근, Frontend 구조를 분석한다.
Migration에서 가장 어려운 인증·Middleware·DI·Data Access 등의 구조적 문제를 해결한다.
반복적인 Controller, DTO, View, Service 등의 Migration을 수행한다.
Migration 과정에서 발견된 복잡한 오류와 Architecture 문제를 해결한다.
15. Fable 5.1을 Advisor로 사용하는 방법
Fable을 모든 코드 작성에 사용하는 대신 고난도 판단을 Fable에게 맡기고 실제 반복 실행은 Sonnet 또는 Opus가 수행하도록 하는 구조를 고려할 수 있다.
예를 들어 대규모 기능 개발이라면 다음과 같은 방식이다.
- Fable 5.1에게 전체 요구사항과 Solution 구조를 분석하게 한다.
- 변경해야 할 프로젝트와 파일 범위를 결정한다.
- Architecture와 구현 순서를 결정한다.
- 복잡한 부분은 Opus 5가 구현한다.
- 반복적인 구현은 Sonnet 5가 처리한다.
- 자동 테스트를 실행한다.
- 중요한 변경은 사람이 Review한다.
↓
전략·분해·검토
↓
Opus 5
↓
복잡한 구현
↓
Sonnet 5
↓
반복 구현·테스트
↓
Human Review
16. 그렇다고 항상 Fable부터 시작하면 안 된다
이것도 중요하다.
작은 작업에 Fable을 먼저 호출하는 것은 오히려 비효율적이다. Anthropic도 모델을 작업에 맞게 선택하고, 자체 평가를 통해 어떤 작업을 어느 모델에 맡길지 결정하는 orchestration 전략을 소개한다.
| 상황 | 바로 선택 |
|---|---|
| Controller 하나 수정 | Sonnet 5 |
| 일반 Feature 개발 | Sonnet 5 |
| 원인을 모르는 복잡한 Bug | Opus 5 |
| 대규모 Refactoring | Opus 5 또는 Fable 5.1 |
| 전체 시스템 Migration | Fable 5.1 |
| 수 시간~수일의 자율 작업 | Fable 5.1 |
17. 실무 Model 선택표
| 업무 | Sonnet 5 | Opus 5 | Fable 5.1 |
|---|---|---|---|
| CRUD | ★★★★★ | ★★★ | ★ |
| 일반 Feature | ★★★★★ | ★★★★ | ★★ |
| 일반 Bug Fix | ★★★★★ | ★★★★ | ★ |
| 복잡한 Bug | ★★★ | ★★★★★ | ★★★★ |
| 대규모 Refactoring | ★★★ | ★★★★★ | ★★★★★ |
| Architecture | ★★ | ★★★★ | ★★★★★ |
| 장시간 Agent | ★★★★ | ★★★★★ | ★★★★★ |
※ 위 평가는 Anthropic의 공식 벤치마크 점수를 그대로 의미하는 것이 아니라, 공식 모델 특성과 활용 사례를 바탕으로 한 실무적인 역할 분류다.
18. 비용까지 생각하면 Sonnet 5의 역할이 더 중요해진다
Anthropic 공식 자료에서 Sonnet 5의 API 가격은 입력 100만 토큰당 2달러, 출력 100만 토큰당 10달러로 안내되고 있으며, 2026년 8월 10일 Anthropic은 이 가격을 기존의 한시적 도입 가격에서 영구 가격으로 변경했다고 밝혔다.
Opus 5는 공식 Migration 문서 기준 입력 100만 토큰당 5달러, 출력 100만 토큰당 25달러다.
Fable 5.1은 공식 페이지 기준 입력 100만 토큰당 10달러, 출력 100만 토큰당 50달러이며, Cache Read는 100만 토큰당 0.25달러로 안내된다.
| 모델 | Input / 1M tokens | Output / 1M tokens | 실무 판단 |
|---|---|---|---|
| Sonnet 5 | $2 | $10 | 일상적인 Agent/개발 |
| Opus 5 | $5 | $25 | 고난도 문제 |
| Fable 5.1 | $10 | $50 | 최고난도·장기 작업 |
위 금액은 API 토큰 가격이다. Claude 구독형 서비스의 사용량 한도·요금제와 동일한 개념으로 해석하면 안 된다. 실제 Claude Code 사용 비용은 사용 중인 제품과 요금제, 사용량 정책에 따라 달라진다.
19. 실제 개발 업무에서는 이렇게 운영하는 것을 추천한다
일반 Feature, CRUD, API, Frontend, 테스트, 일반 Bug Fix.
복잡한 Bug, 성능 문제, Race Condition, 대규모 Refactoring.
전체 코드베이스, 장시간 Agent, 멀티데이 작업, 최고 난도의 코드 Review와 성능 작업.
20. 개발자가 기억해야 할 "3단 승격" 공식
일반적인 실행
복잡한 추론
장기·대규모 작업
처음부터 전체 시스템 Migration이라는 사실을 알고 있다면 Fable 5.1로 시작할 수 있고, 단순한 Controller 수정이라면 Sonnet 5에서 끝내면 된다.
21. Claude Code에서 AI에게 맡기면 안 되는 마지막 결정
모델이 아무리 좋아져도 실제 운영 시스템에 영향을 주는 작업은 별도의 통제 절차를 유지해야 한다.
- Production DB 변경
- DELETE / TRUNCATE 실행
- Schema 변경
- Production 배포
- 권한 정책 변경
- 인증 구조 변경
- 대규모 데이터 Migration 실행
AI에게 분석·계획·SQL 작성·실행 명령 생성까지 맡길 수 있지만, 실제 시스템에 영향을 주는 실행은 사람의 명시적인 승인을 거치는 구조가 안전하다.
22. 실무 체크리스트
☐ 일반 Feature는 Sonnet 5부터 시작한다.
☐ Sonnet이 막히면 작업 범위와 Context를 먼저 확인한다.
☐ 같은 모델에서 해결 가능한 문제라면 Effort를 조절한다.
☐ 복잡한 추론이 필요하면 Opus 5를 사용한다.
☐ Opus 5는 기본 Effort가 High임을 기억한다.
☐ Opus 5의 XHigh와 Max는 고난도 작업에 선별적으로 사용한다.
☐ Fable 5.1은 전체 코드베이스·장시간·비동기 작업에 집중한다.
☐ Fable 5.1에 Opus 5와 동일한 Effort 표를 기계적으로 적용하지 않는다.
☐ 모델보다 Context 품질이 중요한 작업이 많다는 점을 기억한다.
☐ 테스트와 Review를 Agent 작업의 일부로 만든다.
☐ Production 변경은 반드시 사람의 승인을 거친다.
23. FAQ
Claude Code에서는 Opus 5를 기본으로 사용하면 되는가?
Claude Max 환경에서는 Anthropic이 Opus 5를 새로운 기본 모델로 소개했다. 그러나 이것이 모든 작업을 Opus 5로 처리해야 한다는 의미는 아니다. 일반적인 반복 개발에서는 Sonnet 5를 사용하는 것이 합리적이다.
Sonnet 5는 Opus 5보다 무조건 떨어지는 모델인가?
단순한 상하관계로 보는 것은 적절하지 않다. Sonnet 5는 비용과 속도를 고려한 대규모 Agent 실행에 강점을 가지며, Anthropic도 이를 workhorse 성격의 모델로 설명한다.
Opus 5는 언제 XHigh를 사용해야 하는가?
여러 파일과 계층을 분석해야 하거나 장시간 Agent 작업, 복잡한 Bug, Architecture 문제처럼 기본 High보다 더 깊은 추론이 유리한 작업에서 고려한다. 단순한 CRUD에 XHigh를 사용하는 것은 일반적으로 효율적이지 않다.
Opus 5에서 Max를 항상 사용하면 좋은가?
아니다. Anthropic은 Max가 가장 어려운 작업에서 이점을 줄 수 있지만 토큰 사용량 증가에 따른 수익 감소와 간단한 작업에서의 과도한 thinking 가능성을 설명한다.
Fable 5.1은 Opus 5보다 무조건 먼저 사용해야 하는가?
아니다. Fable 5.1은 현재 가장 어려운 장기·대규모 작업에 적합하지만, 일반 Feature나 단순 Bug Fix에는 Sonnet 5 또는 Opus 5가 더 적절하다.
Fable 5.1을 Architect로만 사용해야 하는가?
아니다. Fable 5.1은 직접 코딩할 수 있으며 Anthropic도 전체 코드베이스 Feature 개발, Code Review, Performance Work, Multi-day Autonomous Session을 주요 Coding 활용 사례로 제시한다. Advisor/Orchestration은 여러 모델을 함께 운영할 때 활용할 수 있는 전략이다.
최종 정리
2026년 9월 현재 Claude Code를 실무 개발에 적용한다면 "가장 좋은 모델 하나를 계속 사용하는 방식"보다 작업에 따라 모델을 배치하는 방식이 훨씬 현실적이다.
최종 변경은 사람이 검증한다.
특히 개발자가 기억해야 할 것은 Model → Effort → Context → Verification의 순서다.
좋은 모델을 선택하는 것만으로 좋은 코드가 만들어지는 것은 아니다. 요구사항을 명확하게 만들고, 필요한 코드와 데이터를 충분히 제공하고, 적절한 모델과 Effort를 선택한 뒤, 테스트와 코드 Review를 통해 결과를 검증하는 것이 실제 AI Native 개발의 핵심이다.
작성 기준 및 출처
작성 기준일 : 2026년 9월 8일
- Anthropic Claude Sonnet 5 공식 발표
- Anthropic Claude Opus 5 공식 발표
- Anthropic Claude Fable 5.1 공식 페이지
- Anthropic Claude Platform Prompting Best Practices
- Anthropic Claude Model Migration Guide
- Anthropic Model Deprecations / Model Status
- Anthropic Model Orchestration 공식 세션 자료
모델 제공 여부, Claude Code의 기본 모델, Effort 지원 범위, 구독 정책 및 API 가격은 변경될 수 있으므로 실제 사용 시 Anthropic의 최신 공식 문서를 다시 확인해야 한다.
공식 문서
Anthropic — Prompting Best Practices
이 글은 2026년 9월 8일 기준 Anthropic 공식 자료를 중심으로 작성했다. 향후 Claude Code와 Claude 모델의 기본값, 모델 제공 범위, Effort 정책, 가격 및 사용량 정책이 변경될 수 있다. 특히 구독형 Claude 서비스의 사용량과 API 토큰 가격은 서로 다른 기준이므로 혼동하지 않는 것이 좋다.
#ClaudeCode #ClaudeSonnet5 #ClaudeOpus5 #ClaudeFable51 #Fable51 #AICoding #AIAgent #ClaudeCoding #AI개발 #개발자동화 #소프트웨어개발 #ASPNet #CSharp #MSSQL
대화 참여하기