전통적인 자바에서 인터페이스와 관련 메서드는 한 몸처럼 구성된다. 인터페이스를 구현하는 클래스는 인터페이스에서 정의하는 모든 메서드 구현을 제공하거나 슈퍼클래스의 구현을 상속받아야 한다. 예를 들어보자. CRUD의 추상메서드를 가지고 있는 인터페이스가 있다. 그리고 위 인터페이스를 구현하는 클래스는 인터페이스에서 정의하는 모든 메서드 구현을 제공하거나 슈퍼클래스의 구현을 상속받아야 한다. 그렇게 하지 않으면 오류가 뜰 것이다. 평소에는 이 규칙을 지키는 데 아무 문제가 없지만 라이브러리 설계자 입장에서 인터페이스에 새로운 메서드를 추가하는 등 인터페이스를 바꾸고 싶을 때는 문제가 발생한다. 위 예제를 다시 들어 나는 CRUD 인터페이스를 설계한 설계자이다. 어느 날 나는 CRUD 인터페이스에 제목으로 검..
1. 추상클래스란 ? 클래스를 설계도에 비유한다면, 추상클래스는 미완성 설계도에 비유할 수 있다. 클래스가 미완성이라는 것은 멤버의 개수에 관계된 것이 아니라 미완성 메서드(추상메서드)를 포함하고 있다는 의미이다. 추상클래스는 인스턴스를 생성할 수 없으며, 상속을 통해 자손클래스에 의해서만 완성될 수 있다. 한마디로 일반클래스에서 추상메서드를 포함한 클래스를 추상클래스로 부른다. 추상클래스는 새로운 클래스를 작성하는데 있어서 바탕이 되는 조상클래스로서의 중요한 의미를 갖는다. 아무것도 없는 상태에서 새로운 클래스를 만드는 것보다는 어느 정도 틀을 갖춘 상태에서 시작하는 것이 나을 것이다. 2. 추상 클래스 작성 방법 추상클래스는 abstract를 붙이기만 하면 된다. 이렇게 함으로써 이 클래스를 사용하려..
- Total
- Today
- Yesterday