부분 수업이란 무엇입니까?
부분 클래스는 클래스 구현을 여러 소스 코드 파일로 분할 할 수있는 일부 객체 지향 프로그래밍 언어의 기능입니다. 부분 유형이라고도하는 부분 클래스는 많은 프로그래밍 언어, 특히 C ++ 및 Java와 같은 이전 언어에는 존재하지 않습니다. C # 및 Ruby와 같은 부분 클래스를 구현하는 각 언어는 구현을 조금 다르게 처리합니다.
일반적으로 부분 클래스는 "부분"키워드를 사용하여 클래스 조각을 나타내며 키워드의 대문자 사용 여부는 사용중인 프로그래밍 언어에 따라 다릅니다. 클래스의 각 부분은 동일한 클래스 선언으로 동일한 방식으로 초기화되며 이러한 "부분"키워드가 없으면 동일한 이름을 가진 여러 파일에 여러 클래스를 만드는 것은 불법입니다. "partial"키워드는 언어에 따라 컴파일러 또는 인터프리터에게 모든 클래스를 하나의 큰 단위로 병합하도록 지시합니다. 클래스의 모든 고유 한 부분은 공개, 비공개 또는 보호 된 동일한 가시성을 가져야합니다. 클래스의 한 부분이 추상으로 지정된 경우 다른 개별 부분이 지정되지 않은 경우에도 병합 된 클래스도 추상으로 지정됩니다.
여러 파일에 걸쳐 부분 클래스를 구현하면 프로그래밍 스타일과 구성 모두에서 몇 가지 중요한 이점이 있습니다. 부분 클래스를 사용하면 관련 코드를보다 특수한 그룹으로 명시 적으로 분리 할 수 있습니다. 또한 부분 클래스를 사용하면 여러 프로그래머가 다른 코드를 방해하거나 실수로 수정본을 덮어 쓰지 않고 특정 코드 부분에서 작업 할 수 있습니다. 단일 프로그래머 인 경우에도 부분 클래스는 정리 및 읽기가 어려운 단일 다루기 힘든 파일을 만들지 않고도 매우 큰 클래스를 만드는 데 사용할 수 있다는 점에서 유용 할 수 있습니다.
부분 클래스 구현 패턴에는 몇 가지 중요한 단점이 있습니다. 객체 지향 프로그래밍의 우산 아래에도 불구하고, 부분 클래스는 실제로 객체 지향 프로그래밍의 중심에있는 캡슐화 원칙을 위반합니다. 객체 지향 프로그래밍에서 클래스는 고유 한 상태와 동작을 가지며 자체 포함되며 응집력있는 단위로 사용할 수있는 단일 통합 엔터티로 간주됩니다. 각 부분 클래스는 하나의 개별 클래스처럼 작동하기 때문에 부분 클래스는이 아이디어를 위반합니다. 부분 클래스를 구성하는 부분은 런타임에 하나의 큰 클래스로 병합되지만 부분 클래스의 부분은 종종 별도의 병합 형식없이 자체적으로 사용할 수있는 독립적 인 엔터티입니다.