Category Archives: JAVA

자주쓰는 이클립스 단축키

Edit
Content Assist : CTRL + SPACE
– 코드 작성을 도와준다. 자동완성을 지원함

Navigate
Open Type Hierarchy : F4
– 현재 클래스의 상속관계를 보여주는 창이 열린다.

Quick Hierarchy : CTRL + T
– 간단하게 현재 클래스의 상속 관계를 보여준다.

Quick Outline : CTRL + O
– 현재 클래스의 메서드, 맴버변수등을 보여준다.

Refactor
Refactor Quick Menu : ALT + SHIFT + T
– 리펙토링 메뉴 바로가기

Rename : ALT + SHIFT + R
– 변수명, 클래스명 등 이름 변경

Source
Add Block Comment : CTRL + SHIFT + /
– 선택된 영역에 대해 주석 처리

Remove Block Comment : CTRL + SHIFT + \
– 주석처리 된 영역 주석 해제

Add Javadoc Comment : ALT + SHIFT + J
– Javadoc타입의 주석 붙임

Format : CTRL + SHIFT + F
– 탬플릿에 지정된 대로 코드 포맷 변경

Indent Line : CTRL + I
– 제대로 된 위치의 들여쓰기

Organize Imports : CTRL + SHIFT + O
– 필요없는 import 제거

Source Quick Menu : ALT + SHIFT + S
– 빠른 소스메뉴

Toggle Comment : CTRL + /
– 한줄에 대한 주석 처리

Text Editing
Delete Line : CTRL + D
– 줄 삭제

Duplicate Lines : CTRL + ALT + UP or DOWN
– 줄 복사

Insert Line Above Current Line : CTRL + SHIFT + ENTER
– 현재 줄에 새로 추가

Insert Line Below Current Line : SHIFT + ENTER
– 다음 줄에 새로 추가

Next Word : CTRL + RIGHT
– 다음 문자로 이동

Previous Word : CTRL + LEFT
– 이전 문자로 이동

Window
Maximize Active View or Editor : CTRL + M
– 선택된 뷰 최대화

Switch to Editor : CTRL + SHIFT + E
– 열려있는 에디터간 이동

1379916722.pdf

Virtual Method Invoke

Virtual Method Invoke를 이용하면 무엇을 실행하게 될지 알수 없는 동적 바인딩인 메서드를 실행할수 있다.

이를 통해 웹서비스에서 많이 볼수 있는 플러그인이라던가, 위젯을 손쉽게 구현할 수 있다.

[code]import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class DynamicClassLoader {
  public Object execute(Class clazz, String runner, Object… args)
  throws ClassNotFoundException, SecurityException,
  InstantiationException, IllegalAccessException {

    Method[] methods = clazz.getMethods();

    try {
      for (Method method : methods) {
        if (method.getName().equals(runner)) {
          return method.invoke(this, args);
        }
      }
    } catch (IllegalArgumentException e) {
      e.printStackTrace();
    } catch (IllegalAccessException e) {
      e.printStackTrace();
    } catch (InvocationTargetException e) {
      e.printStackTrace();
    }
    return null;
  }
}[/code]

첫번째 인자로 읽어들일 클래스를 넣어주고, 두번째 인자로 수행할 메서드명을 입력한다.

그 이후에는 인자값들을 넣어주면 된다. 가변인자를 사용한다.

가변인자와 발전된 for문 형식때문에 위의 소스는 JDK 5이상에서만 작동한다.

invoke를 통해서 마치 자신이 해당 클래스에서 호출한 메서드인것처럼 작동하게 된다.