521 words
3 minutes
C# Partial 클래스 / C# Partial クラス

C#에서 partial 키워드를 사용하면 하나의 클래스(Class), 구조체(Struct), 인터페이스(Interface)를 여러 파일에 나눠서 정의할 수 있다.
C#でpartialキーワードを使うと、1つのクラス(Class)、構造体(Struct)、インターフェース(Interface)を複数のファイルに分けて定義できる。


예제 / サンプルコード#

Player_Movement.cs
public partial class Player
{
public void Move()
{
Debug.Log("플레이어 이동 / プレイヤー移動");
}
}
Player_Attack.cs
public partial class Player
{
public void Attack()
{
Debug.Log("플레이어 공격 / プレイヤー攻撃");
}
}

이렇게 작성하면 두 개의 파일에 나눠져 있지만, 결국 Player라는 하나의 클래스로 합쳐져서 컴파일된다.
このように書くと2つのファイルに分かれていても、最終的にはPlayerという1つのクラスとして結合され、コンパイルされる。


장점 / メリット#

  • 가독성 향상: 긴 클래스를 파일별로 분리 가능

  • 可読性向上:長いクラスをファイルごとに分割可能

  • 역할 분리: 기능별로 관리 → 협업 시 충돌 감소

  • 役割分離:機能ごとに管理 → 協力作業時の衝突を減らせる

  • 자동 생성 코드와 분리: Unity나 툴이 만든 코드와 사용자 코드가 뒤섞이지 않음

  • 自動生成コードとの分離:Unityやツールで作られたコードとユーザーコードが混ざらない


주의할 점 / 注意点#

  • partial은 반드시 같은 네임스페이스, 같은 접근제한자, 같은 클래스 이름을 가져야 함

  • partialは必ず同じ名前空間、同じアクセス修飾子、同じクラス名である必要がある

  • 결국은 하나의 클래스이므로 변수 중복이나 접근 제한은 그대로 적용됨

  • 結局は1つのクラスなので、変数の重複やアクセス制限はそのまま適用される

  • 무분별하게 남용하면 오히려 “이 메서드 어디 있지?” 하고 헷갈릴 수 있음

  • 無分別に乱用すると、「このメソッドどこにあるの?」と混乱する可能性がある

C# Partial 클래스 / C# Partial クラス
https://yuminjo.github.io/YuminJo-Blog/posts/whatispartial/
Author
[Unity Developer] Yumin.Jo
Published at
2025-08-27
License
CC BY-NC-SA 4.0