TIL4_190115
by Namnani
0. 핵심
- 인터페이스 쓰는 이유
- 컬렉션
- Generic Type
1. 객체지향의 가장 기본
- 가독성, 재사용
- 유지보수 효율성
2. UML은 나무를 보기 위한 것이 아니고, 숲을 보기 위한 것. 즉, 구조를 보기 위한 것임
- 가독성
- Simple
3. 업무가 명확한 요구사항에서는 데이터 클래스부터 코딩, 그렇지 않은 경우에는 오퍼레이션부터 코딩!
4. abstract와 final의 차이
- abstract는 재정의를 강제하기 위한 키워드. 상속(확장)을 유도한다.
-
final은 상속 금지를 강제하기 위한 키워드. 확장의 마지막이다라는 개념. 자의적으로 확장해서 처리하는 것을 막는다.
- 멤버가 하나라도 추상메소드면 추상클래스여야 한다!
5. 디자인패턴 Adapter
- 한 클래스의 인터페이스를 클라이언트에서 사용하고자하는 다르 인터페이스로 변환한다.
어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있다.
(포함 관계를 이용하는 것 같다.)
7. 디자인패턴 iterator pattern
- 컬렉션 구현 방법을 노출시키지 않으면서도 그 집합체 안에 들어있는 모든 항목에 접근할 수 있는 방법을 제공한다.
8. Class부터 코딩해야한다는 습관을 버려라!
9. Interface, Abstract Class, Class의 차이
10. Interface는 여러 개 extends가 가능하다.
11. Java interface에서 변수는 항상 static final만 될까?
- 변할 수 있는 상태를 가지지 않는 것이 인터페이스 이기 때문이다.
12. Java interface에서 메소드는 왜 public이어야 할까?
- 표준 명세로 배포해야하는 메소드들이기 때문에 항상 열려있어야 한다.
13. 생성자안에서 명시하지 않을시, super()도 자동으로 컴파일러에 의해 추가된다.
14. Generic Type
- Generics was added in Java 5 to provide compile-time type checking and removing risk of ClassCastException
- type safety를 위해 Java에서 사용하는 기능.
Subscribe via RSS