wiki:EclipseHerit

Version 3 (modified by insomnia, 6 years ago) (diff)

--

Use Supertype Where Possible

서브타입 변수를 수퍼타입으로 변경

해당 파일을 에디터에 열어둔 상태에서 Refactor > Use Supertype Where Possible

트리형식의 수퍼타입에서 선택

주의 : 파일을 열어둔 에디터에서 변경할 서브타입 변수를 선택 후에 작업이 안됨

리팩토링 미리보기

Push Down

수퍼클래스에 정의된 메소드/필드를 서브클래스로 이동

이동할 멤버를 선택 후 Refactor > Push Down

이동할 필드, 메소드를 선택한다.

Preview 선택시

Changes to be performed 에서 이동할 클래스만 선택한다.

Pull Up

같은 부모를 가지는 서브클래스에서 동일한 멤버를 수퍼클래스로 이동

이동할 멤버(필드, 메소드)를 선택 후 Refactor > PullUp?

Encapsulate Field

필드를 private로 바꾸고 게터/세터 메소드를 생성한다.

필드 선택 후 Refactor > Encapsulate Field

게터/세터 이름 지정

Field access in declaring type : 클래스 내부에서 필드 참조시 메소드로 접근할지, 필드이름으로 접근할지 지정

참고사항

필드 앞에 '_'를 붙여 지역변수와 구분할 경우

게터/세터 메소드 이름이 get_name, set_name으로 만들어진다.

Preferences > Java > Code Style 페이지에서 Field 항목에 Prefix로 '_'를 지정한다.

Generalize Declared Type

변수 타입을 수퍼타입으로 변경 (파라미터, 메소드 리턴 타입에도 적용 가능)

Use Supertype Where Possible 와 유사하지만 선택한 변수만 변경된다.

변수 선택 후 Refactor > Generalize Declared Type

수퍼타입 트리에서 타입 지정

Attachments