방법: 필드 캡슐화를 사용하여 코드 리팩터링

업데이트: 2007년 11월

다음 프로시저에서는 기존 필드에서 속성을 만든 다음 코드를 새 속성에 대한 참조로 업데이트하는 방법을 설명합니다. 이 프로시저를 사용하여 필드 캡슐화 리팩터링 작업을 수행할 수 있습니다.

필드에서 속성을 만들려면

  1. 예제 단원의 설명대로 콘솔 응용 프로그램을 만듭니다.

    자세한 내용은 콘솔 응용 프로그램 만들기(Visual C#)를 참조하십시오.

  2. 코드 및 텍스트 편집기의 선언에서 캡슐화하려는 필드 이름에 커서를 놓습니다. 아래 예제에서는 커서를 width에 놓습니다.

       public int width, height;
    
  3. 리팩터링 메뉴에서 필드 캡슐화를 클릭합니다.

    필드 캡슐화 대화 상자가 나타납니다.

    바로 가기 키 Ctrl+R, E를 입력해도 필드 캡슐화 대화 상자가 표시됩니다.

    커서를 마우스 오른쪽 단추로 클릭하고 리팩터링을 가리킨 다음 필드 캡슐화를 클릭하여 필드 캡슐화 대화 상자를 표시할 수도 있습니다.

  4. 설정을 지정합니다.

  5. Enter 키를 누르거나 확인 단추를 클릭합니다.

  6. 참조 변경 내용 미리 보기 옵션을 선택한 경우 참조 변경 내용 미리 보기 창이 열립니다. 적용 단추를 클릭합니다.

    다음의 get 및 set 접근자 코드가 소스 파일에 표시됩니다.

            public int Width
            {
                get { return width; }
                set { width = value; }
            }
    

    Main 메서드의 코드도 새 Width 속성 이름으로 업데이트됩니다.

    Square mySquare = new Square();
    mySquare.Width = 110;
    mySquare.height = 150;
    // Output values for width and height.
    Console.WriteLine("width = {0}", mySquare.Width);
    

예제

이 예제를 설정하려면 EncapsulateFieldExample이라는 콘솔 응용 프로그램을 만든 후 Program을 다음 코드로 바꿉니다. 자세한 내용은 콘솔 응용 프로그램 만들기(Visual C#)를 참조하십시오.

class Square
{
    // Select the word 'width' then use Encapsulate Field.
    public int width, height;
}
class MainClass
{
    public static void Main()
    {
        Square mySquare = new Square();
        mySquare.width = 110;
        mySquare.height = 150;
        // Output values for width and height.
        Console.WriteLine("width = {0}", mySquare.width);
        Console.WriteLine("height = {0}", mySquare.height);
    }
}

참고 항목

개념

리팩터링

참조

필드 캡슐화