--- id: wiki-2026-0514-python-082 title: Optional과 Union 판단 category: 10_Wiki/Topics/Coding/Python status: needs_review canonical_id: self aliases: [python_optional_union] duplicate_of: none source_trust_level: C confidence_score: 0.6 created_at: 2026-05-14 updated_at: 2026-05-14 last_reinforced: 2026-05-14 review_reason: ai_generated_concept_batch merge_history: [] tags: [Python, typing, python_optional_union] raw_sources: [user_request:2026-05-14-python-coding-batch] tech_stack: { language: "Python", pillar: "typing" } applied_in: [] verification_status: conceptual related_notes: [Optional, Union, None] --- # Optional과 Union 판단 ## 한 줄 통찰 > None이 끼는 순간 API 경계가 더 중요한 설계 문제가 된다. ## 핵심 개념 - 요약: Optional, Union, None 처리 기준을 다룬다. - 지식 축: 정적 타입 힌트와 타입 기반 설계를 다루는 Python 지식 축 - 이 문서는 Python 코딩과 설계, 운영, 품질 판단에 연결할 수 있는 개념 초안이다. ## 세부 내용 - 타입 힌트는 문서이자 검증 도구이며 협업 비용을 낮춘다. - 정확한 타입은 리팩토링 자신감을 높인다. - 점진적 적용이 중요하며 팀의 규칙과 함께 가야 한다. - 이 주제는 Python 코드의 표현 방식뿐 아니라 팀 규칙, 운영 환경, 리팩토링 비용까지 함께 고려해야 한다. ## 의사결정 기준 - 도메인 경계와 공개 API부터 타입을 강화한다. - 복잡한 타입은 가독성과 안정성의 균형을 본다. - 런타임 검증과 정적 타입의 역할을 분리한다. ## 안티패턴 - 타입을 형식 체크용 장식으로만 붙인다. - 과도한 타입 마법으로 가독성을 해친다. - 공개 API에 타입 기준이 없어 협업 비용을 키운다. ## 적용 사례 - 아직 직접 연결된 실제 적용 사례는 없다. - `verification_status: conceptual` 상태이며 추후 실제 Python 프로젝트, 스크립트, 서비스 구조에 연결되면 갱신한다. ## 중복 검사 결과 - 2026-05-14 기준 `Topics/Coding` 전역에서 동일 제목의 Python 전용 문서는 직접 확인되지 않았다. - 일부 유사 개념은 범용 코딩 문서 또는 AI/Backend 문서 안에 부분적으로 존재할 수 있으므로 후속 정리 대상이다. ## 모순 및 업데이트 - 현재 문서는 사용자 요청으로 생성된 AI 기반 개념 초안이다. - 실제 프로젝트 적용이나 코드 사례가 생기면 `applied_in`과 `verification_status`를 갱신한다. ## 관련 문서 - [[Optional]] - [[Union]] - [[None]] ## Raw Source - user_request:2026-05-14-python-coding-batch ## 변경 이력 - 2026-05-14: Python 코딩 지식 배치용 초기 문서 생성.