인프런 커뮤니티 질문&답변

김규태님의 프로필 이미지
김규태

작성한 질문수

객체 지향 프로그래밍 입문

다형성과 추상화

서로 다른 구현 추상화에 대해서 질문이 있습니다.

해결된 질문

작성

·

272

2

서로 다른 구현 추상화에 대한 예시로 SCP로 파일 업로드, HTTP로 데이터 전송, DB 테이블에 삽입이 존재하는데요

이것이 모두 푸시 발송 요청을 위한 기능이므로 추상화를 한다고 하는데 조금 더 구체적인 추상화가 어떤 추상화인지 알 수 있을까요?

추상화는 공통화로 볼 수 있을 것 같은데요
SCP로 파일 업로드와 HTTP로 데이터 전송, DB 테이블에 삽입은 인풋 데이터를 아웃풋에게 전달하는 부분밖에 추상화 포인트가 떠오르지 않습니다. 이 경우는 추상화라고 표현하는 게 옳을지 잘 모르겠습니다.

감사합니다.
이상입니다.

답변 2

5

최범균님의 프로필 이미지
최범균
지식공유자

추상화는 개념이나 의도, 의미를 표현하는 것으로 세부적인 구현을 감추고 그것이 실제로 무엇인지를 도출합니다. 강의 예제에서 각각 실제 구현이 다음과 같다고 할 때

  • SCP로 특정 서버에서 파일을 업로드하면 이 파일을 읽어다가 대상 고객에게 푸시를 보냄
  • HTTP API를 호출하면, 이 API가 해당 고객에게 푸시를 보냄
  • DB 특정 테이블에 데이터를 삽입하면, 별도 에이전트가 데이터를 읽어가 대상 고객에게 푸시를 보냄

이 세 가지는 구현 방식은 다르지만(SCP로 파일 업로드, API 호출, DB에 데이터 삽입), 셋 다 푸시를 보내기 위한 구현이죠. 즉, 이 세 구현을 '푸시 발송 요청'으로 추상화할 수 있죠.

또 다른 비유로 차를 들 수 있습니다. 속도를 올리는 것을 '가속하기'로 추상화했지만 내연기관차는 기름을 엔진에 넣는 방식으로 구현하고, 전기차는 전기를 모터에 넣는 방식으로 구현하죠.

0

김규태님의 프로필 이미지
김규태
질문자

약간 아리까리송 하지만 답변 감사합니다.

김규태님의 프로필 이미지
김규태

작성한 질문수

질문하기