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

angels6312님의 프로필 이미지
angels6312

작성한 질문수

[리액트 1부] 만들고 비교하며 학습하는 리액트 (React)

추상화를 어떻게 받아들이면 될까요??

해결된 질문

작성

·

344

1

안녕하세요.

강의 듣다보면 선생님께서 추상화라는 말씀을 자주 하시는데요

프로그래밍에서 추상화라는 말이 잘 와닿지가 않습니다ㅠㅠ

선생님 강의 외에도 다른 강의나 서적들도 보면 추상화라는 말이 꽤 나오는걸 볼 수 있는데 그때마다 추상화라는걸 어떻게 생각해야 할 지 잘 모르겠어서 질문 드려봅니다...

답변 1

3

김정환님의 프로필 이미지
김정환
지식공유자

추상화란 불필요한 부분을 제거하고 본질을 드러내는 과정이라고 볼 수 있습니다. 예를 들어 지하철 노선도 같죠. 현실의 지하철 노선을 그대로 옮기려면 무척 복작하고 거대할 겁니다. 이걸 단순화한 게 지하철 노선도에요. 불필요한 정보를 제거하고 축척을 조절하고 간격을 단순화해서 작은 핸드폰 화면에 쏙 들어가게 추상화한 것이죠.

추상화는 이런 현실의 복잡성을 극복하기 위한 사고의 틀입니다. 공통점을 찾아서 문제를 일반화하기도 하고요. 불필요한 부분을 제거해서 중요한 부분이 들어나게 단순화하는 방법도 있어요.

이런 추상화의 대표적인 결과물이 바로 객체지향 프로그래밍에서 말하는 객체이기도 합니다. 리액트 컴포넌트도 마찬가지고요.

입력 필드를 렌더하고 사용자의 입력을 표시하는 것을 수업에서는 SearchFrom이란 컴포넌트로 추상화 했습니다.

최근에 읽은 책 중에 "객체지향의 사실과 오해"의 3장 타입과 추상화 부분을 추천 드립니다. 추상화를 이해하시는데 도움이 될겁니다.

 

angels6312님의 프로필 이미지
angels6312

작성한 질문수

질문하기