|
이 섹션은 Introduce Field 리팩토링 위에서 당신에게 포괄적인 overview를 제공하고 how 이
리팩토링이 IntelliJ
IDEA에서 사용될 수 있는가를 제공합니다.
Introduce Field 리팩토링은 새로운 필드를 선언하고, 선택된 표현식과 함께 그것을 초기화합니다. 원래 표현식은 필드의 사용으로 교체됩니다.
예를 들면, 리팩토링 전의 일부 코드가 여기에 있습니다:
public class MyApplet extends JApplet {
public void init() {
Container cp = getContentPane();
cp.setLayout(new FlowLayout());
cp.add(new Button("Button"));
}
}
우리는 Introduce Field 리팩토링을 적용하기 위해 새로운 버튼 ("Button")을 선택합니다.
이후 우리는 다음의 코드를 가집니다:
public class MyApplet extends JApplet {
private JButton button = new JButton("Button");
public void init() {
Container cp = getContentPane();
cp.setLayout(new FlowLayout());
cp.add(button);
}
}
필드를 생성하기 위해, 에디터에서 새로운 필드에 할당된 표현식을 선택하십시오.

|

|
Introduce Field 리팩토링에 대한 표현식을 선택하기 위해 Ctrl +
W (단어 선택)를 사용하는 것은 아주 편리합니다.
코드의 블록 확장을 선택하고 당신은 캐럿을 내부의 어느 곳에 배치하고, Ctrl + W를 몇 번 눌러서 어떤 표현식이라도 쉽게 코드에서 선택해도 좋습니다:
|
주 메뉴에서 또는 에디터에서 오른쪽 버튼을 클릭하여 불려지는 팝업 메뉴에서 Refactor | Introduce
Field... 항목을 클릭 하십시오.
다음의 Introduce Field 다이얼로그가 나타납니다:

Introduce Field 다이얼로그의 최상위에서, 생성 필드의 타입이 표시됩니다.
Name 텍스트 필드에서 당신은 필드에 이름을 입력시킬 수 있거나, IDEA에 의해 제안된 하나를 사용할 수 있습니다. 특히 제안된 이름은 그 타입 위에서 선택된 표현식에 의존합니다.
만일 당신이 코드 스타일 옵션 에서 필드를 위해 이름 식별 번호를 지정했더라면 제안된 필드 이름을 형성하는 것은 IDEA에 의해 사용될 것입니다.
|

|
만일 선택된 표현식의 다중 발생이 있으면, 그들 모두는 에디터에서 강조될 것입니다. 그리고 Replace all occurrences of expression ( <number
of occurrences found> ) 체크박스는 다이얼로그 윈도우의 바닥에서 나타날 것 입니다. 만일 체크박스가 선택되면, 선택된 표현식의 모든 발생은 교체될 것 입니다. 그렇지 않으면 오로지 당신이 처음에 지정한 표현식만이 변경될 것 입니다.
|
다이얼로그는 3개의 옵션 그룹을 가집니다:
|
초기화
|
|
필드가 초기화된 곳을 정의합니다:
Current
method - 필드는 선택된 표현식에 앞서 메소드 내에서 즉시 초기화됩니다.
Field
declaration - 필드는 다른 필드와 함께 초기화됩니다.
Class
constructor - 필드는 클래스 생성자에서 초기화됩니다.
|
|
가시성
|
|
필드를 위해 가시성 범위를 결정합니다:
Private
Package
local
Protected
Public
|
|
다른 변경자
|
|
필드를 위해 변경자를 결정합니다:
Final
|

|
만일 필드가 현재의 메소드로 초기화되면 final 체크 박스는 불가능하게 하게 됩니다.
|
|
|
만일 선택된 코드가 유효한 표현식을 표시하지 않으면 당신에게 다음의 에러 메시지로 프롬프트 될 것입니다:

|