학습 목표 | 학생들은 다음을 할 수 있습니다:
|
사전 요구 사항 | 학생들은:
|
추상화는 컴퓨터 과학에서 더 큰 무엇인가의 단순화된 표현을 제공합니다. 가장 필요한 정보만 추출하고 나머지는 숨깁니다.
함수는 재사용 가능한 추상화입니다. 호출되면 사용자는 전체 함수의 코드를 다시 작성하거나 심지어 보지 않고도 함수의 이점을 누릴 수 있습니다.
코딩 언어에서의 일반적인 예는 print()입니다. 그 코드의 대부분이 숨겨져 있어서 코더는 나머지 코드가 아닌 인쇄해야 할 내용에 집중할 수 있습니다.
추상화를 만들기 위한 이유
추상화는 프로그램을 조직적으로 유지하고 복잡성을 줄이며 코드를 업데이트하기 쉽게 만듭니다.
상점 예제
게임 내 상점에서 두 가지 다른 배낭만 판매한다고 가정해봅시다. 두 번째 배낭의 코드는 약간의 변경(예: 다른 이름과 판매 가격)으로 복사되었습니다.


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

