1.객체 지향 특징
- 기본적이지만 추상화, 캡슐화, 상속, 다형성을 가지고 있음.
- 컴포넌트를 쉽고 유연하게 변경하면서 개발할 수 있는 방법
2.역할과 구현을 분리
그 장점은 ?
- 클라이언트는 대상의 역할(인터페이스)만 알면 된다.
- 클라이언트는 구현 대상에 대해서 크게 신경쓰지 않아도 된다.
- 따라서 인터페이스를 안정적으로 잘 설계하는 것이 중요하다
객체 설계시 ?
- 객체 설계시 역할(인터페이스)를 먼저 부여하고, 그 역할을 수행하는 구현 객체 만들기
3. 자바 언어의 다형성
오버라이딩을 생각~
- 헷갈리는 오버로딩과 오버라이딩은 전혀 다른개념이다.
- 오버로딩은
같은 이름의 메소드를 매개변수의 타입, 개수에 따라 재정의
하는 것
- 오버라이딩은
상위 클래스의 메소드를 하위 클래스의 메소드에서 재정의
하는 것