다음을 통해 공유


클래스 및 형식 리팩터링(클래스 디자이너)

코드를 리팩터링할 때 외부 동작이 아닌 내부 구조와 개체 설계 방식을 변경하면 코드를 보다 효율적이며 쉽게 이해하고 유지 관리할 수 있습니다. 클래스 디자이너 및 클래스 세부 내용 창을 사용하면 Visual Studio 프로젝트에서 Visual C# .NET, Visual Basic .NET 또는 C++ 코드를 리팩터링할 때 수행해야 하는 작업과 버그 발생 가능성을 줄일 수 있습니다.

참고

프로젝트가 소스 코드로 제어되며 체크 아웃되지 않은 경우, 참조되는 프로젝트인 경우 또는 해당 파일이 디스크에서 읽기 전용으로 표시된 경우 프로젝트의 파일은 읽기 전용일 수 있습니다.이러한 상태 중 하나인 프로젝트에서 작업할 때는 프로젝트 상태에 따라 다양한 방식으로 작업을 저장할 수 있습니다.이 방식은 리팩터링 코드와 직접 편집 등의 다른 방법으로 변경하는 코드에도 적용됩니다.자세한 내용은 Display of Read-Only Information을 참조하십시오.

일반 작업

작업

지원 내용

클래스 리팩터링:리팩터링 작업을 통해 클래스를 부분 클래스로 분할하거나 추상 기본 클래스를 구현할 수 있습니다.

인터페이스 사용:클래스 디자이너에서는 인터페이스 메서드의 코드를 제공하는 클래스에 인터페이스를 연결하여 클래스 다이어그램에서 인터페이스를 구현할 수 있습니다. Visual C#을 사용하는 경우에는 형식의 공용 멤버 하나 이상을 새 인터페이스로 추출할 수도 있습니다.

형식, 형식 멤버 및 매개 변수 리팩터링:클래스 디자이너를 사용하면 형식 또는 형식 멤버 이름 바꾸기 등의 변경을 쉽게 수행할 수 있습니다. 형식 멤버를 재정의하거나 형식 간에 이동할 수 있습니다. nullable 형식을 쉽게 만들 수 있습니다. 또한 Visual C#을 사용하는 경우 메서드 매개 변수를 다시 정렬할 수 있습니다.

추상 기본 클래스 구현

클래스 디자이너를 사용하여 추상 클래스를 구현할 수 있습니다.

이 절차에서는 다음 사항을 가정합니다.

  • 프로젝트에 추상 클래스가 포함되어 있습니다.

  • 추상 클래스에 추상 멤버가 포함되어 있습니다.

  • 추상 클래스는 다른 클래스와의 상속 관계에서 기본 클래스입니다. 파생 클래스가 추상 클래스일 필요는 없습니다.

추상 클래스 구현

  • 파생 클래스를 마우스 오른쪽 단추로 클릭하고 IntelliSense, 추상 클래스 구현을 차례로 클릭합니다. 기본 클래스의 모든 추상 멤버는 파생된 클래스에서 구현됩니다.

자세한 내용은 방법: 형식 간의 상속 만들기(클래스 디자이너)방법: 클래스 디자이너를 사용하여 형식 만들기를 참조하세요.

인터페이스에 멤버 추출

하나 이상의 공용 멤버를 형식에서 새 인터페이스로 추출할 수 있습니다.

멤버를 새 인터페이스로 추출하려면

  1. 클래스 디자이너에서 추출할 멤버가 하나 이상 포함된 형식을 마우스 오른쪽 단추로 클릭하고 리팩터링을 가리킨 다음 인터페이스 추출을 클릭합니다.

    인터페이스 추출 대화 상자에 인터페이스 이름의 기본값과 인터페이스를 선언할 코드 파일의 이름이 표시됩니다. 기본값을 적용하거나 변경합니다.

  2. 인터페이스를 구성할 공용 멤버 선택 창에서 새 인터페이스로 추출할 멤버 옆의 확인란을 선택하거나 선택을 취소하고 확인을 클릭합니다.

    새 인터페이스가 만들어지고 인터페이스를 저장할 파일이 프로젝트에 추가됩니다.

형식 멤버 재정의

클래스 디자이너에서는 자식 클래스의 메서드 및 속성과 같은 멤버가 기본 클래스에서 상속된 멤버를 재정의하도록 할 수 있습니다. 다음과 같은 상황에서만 멤버를 재정의할 수 있습니다.

  • 재정의하려는 기본 메서드가 가상, 추상 또는 재정의 메서드여야 하며 비가상 또는 정적 메서드여서는 안 됩니다.

멤버를 재정의하려면

  1. 클래스 다이어그램에서 클래스 모양을 마우스 오른쪽 단추로 클릭하고 IntelliSense, 멤버재정의를 차례로 클릭합니다.

    재정의 가능한 멤버가 표시되는 대화 상자가 나타납니다.

  2. 목록에서 멤버를 지정합니다.

    이름, 액세스 한정자 및 반환 값이 같은 멤버가 클래스에 표시되며 해당 상속 한정자 속성은 Visual Basic에서는 재정의(Overrides)로, C#에서는 재정의(override)로 설정됩니다.

형식 및 형식 멤버 이름 바꾸기

클래스 디자이너에서는 클래스 다이어그램이나 속성 창에서 형식 또는 형식의 멤버 이름을 바꿀 수 있습니다. 클래스 세부 내용 창에서는 형식이 아닌 멤버의 이름을 변경할 수 있습니다. 형식 또는 형식 멤버의 이름을 바꾸면 이전 이름이 표시되었던 모든 창과 코드 위치로 변경 내용이 전파됩니다.

클래스 디자이너에서 이름을 바꾸려면

  1. 클래스 다이어그램에서 형식 또는 멤버를 선택합니다.

    멤버의 이름이 편집 가능한 상태가 됩니다.

  2. 형식 또는 형식 멤버의 새 이름을 입력합니다.

클래스 세부 내용 창에서 이름을 바꾸려면

  1. 클래스 세부 내용 창을 표시하려면 형식 또는 형식 멤버를 마우스 오른쪽 단추로 클릭하고 클래스 세부 내용을 클릭합니다.

    클래스 세부 내용 창이 나타납니다.

  2. 이름 열에서 형식 멤버의 이름을 변경합니다.

  3. 셀에서 포커스를 이동하려면 Enter 키를 누르거나 셀 바깥쪽을 클릭합니다.

    참고

    클래스 세부 내용 창에서는 형식이 아닌 멤버의 이름을 변경할 수 있습니다.

속성 창에서 이름을 바꾸려면

  1. 클래스 다이어그램 또는 클래스 세부 내용 창에서 형식이나 멤버를 마우스 오른쪽 단추로 클릭하고 속성을 클릭합니다.

    속성 창이 나타나고 형식 또는 형식 멤버의 속성이 표시됩니다.

  2. 이름 속성에서 형식 또는 형식 멤버의 이름을 변경합니다.

    새 이름은 현재 프로젝트에서 이전 이름이 표시되었던 모든 창 및 코드 위치로 전파됩니다.

매개 변수 다시 정렬

클래스 디자이너에서는 형식의 메서드 매개 변수 순서를 변경할 수 있습니다.

참고

선택적 매개 변수는 매개 변수 목록의 마지막 매개 변수여야 합니다.클래스 디자이너를 사용하여 선택적 매개 변수를 만드는 방법에 대한 자세한 내용은 Adding Parameters to Methods를 참조하세요.

매개 변수 순서를 변경하려면

  1. 클래스 다이어그램에서 형식 모양을 확장한 다음 메서드 구획을 확장합니다.

  2. 메서드 구획에서 다시 정렬할 매개 변수가 포함된 메서드를 마우스 오른쪽 단추로 클릭하고 리팩터링을 가리킨 다음 매개 변수 다시 정렬을 클릭합니다.

    매개 변수 다시 정렬 대화 상자가 표시됩니다.

  3. 매개 변수 다시 정렬 대화 상자에서 매개 변수를 원하는 순서로 이동하고 확인을 클릭합니다.

    클래스 다이어그램의 모양과 코드에서 매개 변수의 순서가 변경됩니다.

형식 간에 형식 멤버 이동

클래스 디자이너를 사용하면 형식 멤버를 현재 클래스 다이어그램에 표시되어 있는 형식 간에 이동할 수 있습니다.

형식 멤버를 형식 간에 이동하려면

  1. 디자인 화면에 표시된 형식에서 다른 형식으로 이동할 멤버를 마우스 오른쪽 단추로 클릭하고 잘라내기를 클릭합니다.

  2. 대상 형식을 마우스 오른쪽 단추로 클릭한 다음 붙여넣기를 클릭합니다.

    속성이 소스 형식에서 제거되고 대상 형식에 나타납니다.

관련 항목

제목

설명

형식 및 관계 보기(클래스 디자이너)

클래스 및 형식 디자인(클래스 디자이너)