본문 바로가기

[자바의 신] 클래스 안의 클래스 자바에서는 클래스 안에 클래스를 Nested 클래스라고 부른다. 왜 클래스 안에 클래스가 있을까? 코드를 간단하게 하기 위해서 이다. 한 곳에서만 사용하는 클래스를 논리적으로 묶어서 처리할 필요가 있을때(Static Nested 클래스) 캡슐화가 필요할때, 즉 내부 구현을 감추고 싶을때(내부 클래스) 소스의 가독성과 유지보수성을 높이고 싶을때 Nested 클래스는 자바 기반의 UI를 처리할 때 사용자의 입력이나, 외부의 이벤트에 대한 처리를 하는 곳에서 많이 사용된다. Nested 클래스는 선언 방식에 따라서 두가지로 구분할 수 있고, inner 클래스는 이름이 유무에 따라서 다시 두가지로 나눌수 있다. Static Nested 클래스 inner 클래스 로컬 내부 클래스 익명 내부 클래스 Static N.. 더보기
[자바의 신] 예외 예외는 매우매우 중요하다. 예외를 모르면 자바를 모르는것과 같다. 예외를 생각하지 않고는 안전한 프로그램 개발이 불가능하다. 자바에서 예외는 우리가 예상한 혹은 예쌍치 못한 일이 발생하는 것을 미리 예견하고 안전장치를 하는것. try ... catch try 블록 안에 예외가 발생할 수 있는 문장을 묶어주고, catch 블록 안에 예외가 발생했을때 처리를 해준다. 반드시 모든 문장을 묶을 필요는 없고, 예외가 발생하는 부분만 묶어주면 된다. try ... catch 블록에서 예외가 발생하면 예외가 발생한 문장이후는 실행되지 않고, 바로 catch 블록으로 넘어간다. 반대로 try블록에서 예외가 발생하지 않으면, catch 블록은 실행되지 않는다. 주의할 사항 변수의 선언 try ... catch 블록도 .. 더보기
[자바의 신] 인터페이스와 추상클래스 인터페이스나 추상클래스는 하나의 기호다. 전원버튼의 모양을 보고 전자기기의 전원을 켜는 것과 같이 인터페이스나 추상클래스의 모양을 보면 어떻게 써야 할지 알 수 있다. 보통 설계 단계에서 인터페이스를 정의하고 개발단계에서 인터페이스를 구현한 클래스를 만든다. 중요한 것은 인터페이스를 구현한 클래스가 어떻게 되어있는지의 여부. 인터페이스나 추상 클래스의 메소드를 사용하는 사용자의 입장에서 내부 구현이 어떻게 되어 있는지는 별로 안궁금하고, 그냥 호출하고, 응답을 받으면 된다. 인터페이스와 추상클래스를 사용하는 이유 설계시 선언해 두면 개발할때 기능을 구현하는데만 집중할 수 있다. 개발자의 역량에 따른 메소드의 이름과 매개변수 선언의 격차를 줄일 수 있다. 공통적인 인터페이스와 추상클래스를 선언해 놓으면 선.. 더보기