Skip to content

아이템 20. 추상 클래스보다는 인터페이스를 우선하라 #40

Answered by JoisFe
coalong asked this question in 3. 과제
Discussion options

You must be logged in to vote

추상클래스보단 인터페이스를 우선시 하는 이유에 대해 알 수 있게된 좋은 정리 감사합니다.
해당 글과 무관할 수 있으나
저는 자바의 인터페이스가 ADT에 가장 잘 대응 되는 개념이라는 표현이 가장 와 닿았습니다.

ADT(Abstract Data Type, 추상 데이터 타입) : 세부 사항에서 벗어나 추상적으로 정의한 데이터 타입.

저는 처음 data type (자료형 이라고 부르는)을 접했을 때 단순히 자바에서는 크게 2가지 기본 데이터 타입(int, boolean, 등등), 참조형 데이터 타입이 있다 정도로 이해하고 넘어갔습니다.

하지만 객체지향의 사실과 오해라는 책에서 추상화를 설명하는 부분에서

  • 추상화 : 현실에서 출발하되 불필요한 부분을 도려내가면서 사물의 놀라운 본질을 드러나게 하는 과정 --> 불필요한 부분을 무시함으로써 현실에 존재하는 복잡성을 극복

  • 데이터 타입 : 메모리 안에 저장된 데이터의 종류를 분류하는 데 사용하는 메모리 집합에 관한 메타데이터로 추상화 한 결과 --> 컴퓨터의 메모리에서는 0과 1만 존재 하여 타입이라는 질서가 존재하지 않는데 데이터의 종류에 맞게 추상화 한 결과

  • 객체 : 객체지향 프로그램에서 객체를 일종의 데이터 처럼 사용하는데 객체를 타입에 따라 분류하고 그 타입에 이름을 붙이는 것은 결국 프로그램에서 사용할 데이터 타입을 선언하는 것과 같음 --> 객체 또한 추상화의 결과

단…

Replies: 2 comments 2 replies

Comment options

You must be logged in to vote
1 reply
@coalong
Comment options

coalong Jan 7, 2023
Maintainer Author

Answer selected by coalong
Comment options

You must be logged in to vote
1 reply
@coalong
Comment options

coalong Jan 10, 2023
Maintainer Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4장 클래스와 인터페이스 이펙티브 자바 4장 (클래스와 인터페이스)
3 participants