blob: 9b8d69c4d18bb307029946bc0140b2a9bfee6aa2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
---
title: 추상화
slug: Glossary/Abstraction
tags:
- Abstraction
- CodingScripting
- Glossary
- 추상화
translation_of: Glossary/Abstraction
---
<p>{{Glossary("computer programming", "컴퓨터 프로그래밍")}}에서의 <strong>추상화</strong>란 복잡한 소프트웨어 시스템을 효율적으로 설계하고 구현할 수 있는 방법입니다. 추상화는 뒷편 시스템의 기술적 복잡함을 단순한 {{Glossary("API")}} 뒤에 숨깁니다.</p>
<h2 id="데이터_추상화의_장점">데이터 추상화의 장점</h2>
<ul>
<li>사용자가 낮은 수준의 코드를 작성하지 않도록 도움.</li>
<li>코드 중복 방지 및 재사용성 향상.</li>
<li>사용자에게 영향을 끼치지 않은 채로 독립적으로 클래스의 내부 구현 변경 가능</li>
<li>중요한 세부 정보만 사용자에게 제공하므로 응용 프로그램 또는 프로그램의 보안 향상에 도움</li>
</ul>
<ul>
</ul>
<h2 id="예"><strong>예</strong></h2>
<pre><code>class ImplementAbstraction {
// method to set values of internal members
set(x, y) {
this.a = x;
this.b = y;
}
display() {
console.log('a = ' + this.a);
console.log('b = ' + this.b);
}
}
const obj = new ImplementAbstraction();
obj.set(10, 20);
obj.display();
// a = 10
// b = 20</code></pre>
<h2 id="더_알아보기"><strong>더 알아보기</strong></h2>
<h3 id="일반적인_지식">일반적인 지식</h3>
<ul>
<li>Wikipedia의 {{interwiki("wikipedia", "Abstraction (computer science)", "Abstraction")}} </li>
</ul>
|