내부클래스는 클래스 안에 선언된 클래스를 말한다. 주로 서로 긴밀한 관계에 있을 경우 사용하게 된다. “.java”로 별도의 클래스를 만들어도 되지만 서로 긴밀한 연관이 있는 경우 굳이 파일을 나눌 필요가 없다.

 

내부클래스 중 내부익명클래스는 선언과 동시에 객체가 생성되도록 하는 이름 없는 클래스를 말한다. 내부익명클래스는 클래스의 가장 큰 강점 중 하나인 재사용성과는 거리가 있다.

 

이벤트 구현이나 재사용이 굳이 필요하지 않는 경우 편리하게 사용할 수 있다. 별도 클래스를 만들 필요가 없으니 한눈에 파악하기 유용하다.


//클래스 이름 없이 액션리스너 구현

 

bt.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

down();

bt.setEnabled(false); // 버튼 비활성화

}

});

 

bt_load.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

load();

}

});

 

// 텍스트박스와 리스너 연결

t_input.addKeyListener(new KeyAdapter() {

@Override

public void keyReleased(KeyEvent e) {

if(e.getKeyCode()==KeyEvent.VK_ENTER){

compare();

}

}

});

 

이벤트를 구현하기 위한 별도 클래스를 생성하지 않아도 되기에 유용하게 사용하고 있다.




+ Recent posts