728x90
기본 원칙 : 모든 클래스와 멤버의 접근성을 가능한 좁혀야 한다
프로그램 요소의 접근성은 가능한 최소한으로 한다. 꼭 필요한 것만 골라 최소한의 Public API를 설계해야 한다. 그 외 클래스, 인터페이스, 멤버가 의도치 않게 API로 공개되는 일이 없도록(Public으로 선언되지 않도록) 해야한다.
public static final 필드가 참조하는 객체가 불변인지 확인해아 한다.
1. 인터페이스(추상 메서드의 집합)
인터페이스를 중개로 한 코드 통신의 접접. 통신 코드 간 규약 ~ 동시 개발 가능
- 상수, 추상메서드만을 멤버로 가질 수 있다.
인터페이스의 멤버들은..
- 모든 멤버변수는 public static final이어야 하며, 이를 생략할 수 있다.
- 모든 메서드는 public abstract이어야 하며, 이를 생략할 수 있다.(static 메서드, 디폴트 메서드 예외)
cf)Static 메서드 : 헬퍼 또는 유틸리티 메서드를 제공할 때 사용 + Static 블록 작성 불가
다형성을 위해,
-> 상속 또는 인터페이스의 자동 타입변환(Promotion)
상위 인터페이스, 클래스, 추상 클래스로 업캐스팅 가능
! 모든 클래스는 extends Object가 생략
! 모든 클래스는 Object로 업캐스팅 가능
728x90
'자바☕' 카테고리의 다른 글
Dynamic Dispatch : 다형성의 일부 (0) | 2022.12.02 |
---|---|
다형성(Polymorphism)과 오버라이딩(Overriding) (0) | 2022.12.01 |
Immutable vs Mutable (0) | 2022.12.01 |
11. 19 내부 클래스/ static vs final vs static final (0) | 2022.11.19 |
오버로딩(Overloading) vs 오버라이딩(Overriding) (0) | 2022.11.18 |