본문 바로가기
728x90

인터페이스2

Chapter 6. 메시지와 인터페이스 객체지향 프로그래밍에 대한 가장 큰 오해는 애플리케이션이 클래스의 집합으로 구성된다는 것이다. 클래스는 그저 도구일 뿐이다. 따라서 좋은 객체지향 코드를 얻기 위해서는 협력 안에서 객체가 수행하는 책임에 초점을 맞추어야 한다. 책임은 객체가 수신할 수 있는 메시지의 기반이 된다. 애플리케이션은 클래스로 구성되지만 메시지를 통해 정의된다. 객체가 수신하는 메시지들이 객체의 퍼블릭 인터페이스를 구성한다. 좋은 퍼블릭 인터페이스를 얻기 위해서는 책임 주도 설계와 유연하고 재사용 가능한 퍼블릭 인터페이스를 만드는 데 도움이 되는 설계 원칙과 기법을 적용해야 한다. 이런 설게 원칙과 기법을 살펴보기 전에 우선 협력과 메시지를 설명하겠다. 협력과 메시지 클라이언트 - 서버 모델 협력은 어떤 객체가 다른 객체에게 무.. 2022. 1. 22.
추상 클래스와 인터페이스의 차이 인터페이스와 추상 클래스는 인스턴스화 하는 것이 불가능 하고 구현부가 없는 추상 메서드를 가질 수 있다. 또 한 java8에서 인터페이스에 디폴트 메서드가 추가된 후로 수상 클래스와 인터페이스의 차이가 모호해진 감이 있다. 하지만 이 둘은 여전히 다음과 같은 차지를 가지고 있다. 1. 인터페이스에서는 모든 변수가 public static final이다. 메서드는 public abstract이다. 2. 추상 클래스에서는 static 이나 final이 아닌 필드를 지정할 수 있고, public protected private 메소드르 가질 수 있다. 3. 인터페이스를 구현하는 어떤 클래스는 다른 여러개의 인터페이스들을 함께 구현할 수 있다. 자바는 다중상속을 지원하지 않기 때문에 추상클래스를 상속받은 서브클.. 2022. 1. 3.
728x90