"라일리 - 프로그래밍 안드로이드"그들은이 코드를 피하는 것이 좋습니다자바 좋은 연습 - 인터페이스 유형의 선언 대신 구현 유형의 선언에서
ArrayList<String> a = new ArrayList<String>();
하지만 그것을 대체 할 :
List<String> a = new ArrayList<String>();
을
그들은 나중에 a
의 유형을 연결 목록을 말하도록 변경해야한다면 코드를 유지 관리하는 것이 더 쉽다고 주장합니다. 그렇다면 Collection
또는 심지어 Object
유형으로 만들지 않으시겠습니까?
유형을 변경하려면 인스턴스화를 변경해야하므로 최대한 제한된 유형으로 유지하고 필요할 경우 추가 행을 변경하는 것이 좋습니다.
맞습니까?
다른 무엇보다 관습입니다. 그러나 대회가 중요합니다. –
큰 프로젝트를 만들 때 훨씬 더 의미가 있습니다. 인터페이스를 사용하면 구현에 하드 코딩 한 것보다 격리 된 클래스를 테스트하는 것이 훨씬 쉽고 나중에 응용 프로그램 모듈을 훨씬 쉽게 업그레이드 할 수 있습니다. –
농담해야합니다, @ TomHawtin-tackline. – alphazero