추상화는 컴퓨터 과학에서 더 큰 것의 단순화된 표현을 제공합니다. 가장 필요한 정보만 추출하고 나머지는 숨깁니다.
함수는 재사용 가능한 추상화입니다. 호출되면 사용자는 전체 함수의 코드를 다시 작성하거나 심지어 보지 않고도 함수의 이점을 누릴 수 있습니다.
코딩 언어에서 흔히 볼 수 있는 예는 print()입니다. 대부분의 코드가 숨겨져 있어서 코더는 인쇄해야 할 내용에 집중하고 나머지 코드에는 신경 쓸 필요가 없습니다.
왜 추상화를 만들어야 할까
추상화는 프로그램을 정리되고 복잡성을 줄이며 코드를 쉽게 업데이트하도록 만들어 줍니다.
상점 예시
당신이 두 가지 다른 백팩을 판매하는 게임 내 상점을 가지고 있다고 가정해 보겠습니다. 두 번째 백팩의 코드는 이름과 판매 가격이 다른 약간의 변경 사항과 함께 복사되었습니다.


여기서 코드는 추상화되지 않았습니다. 각 백팩은 자신의 스크립트를 가지고 있습니다. 다음을 추가하려고 하면 어떻게 될까요?
20개의 추가 백팩.
일부 가방이 다른 가방보다 더 많은 아이템을 수납할 수 있는 기능.
모든 백팩 25% 할인 이벤트.
추상화 설계
각 백팩에 대한 별도의 스크립트가 있으면 백팩을 추가하고 업데이트하는 데 시간이 많이 소요됩니다. 대신 추상화를 만들어서 여러 장소에서 업데이트를 하지 않도록 하십시오.
추상화를 설계하려면 다음을 결정해야 합니다:
어떤 코드 부분이 재사용될 것인지.
매번 어떤 요소가 달라질 것인지.
추상화는 변경되는 정보를 추출하고 나머지는 숨겨야 합니다. 백팩 예시에서 차이점은 백팩의 이름, 가격 및 수용할 수 있는 아이템 수입니다. 따라서 추상화의 예로는 백팩의 이름을 입력받아 가격과 용량을 반환하는 함수입니다.
![]() | ![]() |
비추상화 | 추상화 |
| 네 가지 다른 백팩, 업데이트할 네 가지 다른 위치. | 고유한 정보를 검색하기 위해 함수를 사용합니다. 업데이트할 위치는 하나뿐입니다. |
요약
추상화는 세부 정보를 생략하여 더 큰 것에 대한 단순화된 표현을 제공합니다. 추상화를 생성할지 여부를 결정할 때는 자주 재사용되지만 매번 작은 변화가 있는 코드를 찾아보세요. 예를 들어, 백팩과 같은 일반 항목은 가격과 용량을 조회하는 재사용 가능한 함수로 추상화될 수 있습니다.
추상화를 사용하여 코드를 계획하고 구조화하는 데 시간을 투자하면 코더가 중요한 것에 집중할 수 있습니다. 이 시간 투자는 프로그램을 더 잘 정리하고 업데이트를 쉽게 만듭니다.

