# 추상화

## 추상화

{% hint style="info" %}
추상화(abstraction)는 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념 또는 기능을 간추려 내는 것을 말한다.&#x20;

(출처 : <https://ko.wikipedia.org/wiki/%EC%B6%94%EC%83%81%ED%99%94>)
{% endhint %}

추상화를 통해 우리는 상속 구조를 설계할 수 있으며, 반대되는 개념 용어는 **구체화**이다.

![구체적인 클래스의 명세에서](/files/-MeSPmKXuGBzqsTS1REd)

![추상적인 요소들을 뽑아낸다](/files/-MeSUSVgtB54dCF9epq0)

추상화를 통해 체계를 구축하면 클래스가 두 종류로 나눠지게 된다.

* 상위 클래스 역할을 수행하는 클래스
* 기존에 사용하던 객체 생성을 위한 클래스

이 중에서 상위 클래스 역할을 수행하는 클래스를 쉽게 만들기 위해 **추상 클래스**라는 요소가 등장한다.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sysout.co.kr/base-language/java/advanced/abstract.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
