추상화의 반대는 무엇입니까? [닫은]


19

내가 이해하는 바와 같이, 추상화는 더 많은 의미가 그것을 바꾸지 않고 더 단순한 것으로 만들어 질 때 사용하는 용어입니다. 이 단어는 라틴 동사 동사에서 파생 된 것입니다. 예를 들어, 텍스트는 비트 맵과 마찬가지로 이진 데이터의 추상화 일뿐입니다. 따라서 컴퓨터에서 텍스트와 비트 맵은 이진 데이터 위에 존재합니다.

내 질문은 : 반대 용어는 무엇입니까? 비트 맵이 이진 데이터 이외의 관점에서 구현 될 수있는 더 기본적인 것들을 알고 싶다면 (예 : 모자이크 타일 또는 패치 워크 퀼트용 패브릭 패치) 무엇을 요구합니까? 그것에 대한 단어가 있습니까?

추상화에는 일반화의 의미가 있으며 그 반대 과정은 전문화입니다. 그것이 도움이되는지 IDK.


7
English.SE에 더 적합 할 수 있습니다.
Péter Török

3
어떤 경우에는 단순성. 나는 일을 더 복잡하게 만든 끔찍한 추상화를 많이 보았다. |
William

나는이 개념이 만족스러운 단어를 가지고 있지 않다고 생각한다. "
절제

답변:


8

이행.

추상화는 짧은 단어로, 실세계 사물의 (축소 된) 모델을 얻는 정신적 과정이며, 개념이나 아이디어로 "컴팩트"합니다.

따라서 반대는 개념이나 아이디어를 취하여 그것을 현실 세계로 바꾸는 것입니다. ;-)


2
나는 이것을 보완 개념과 반대라고 부를 지 모르겠다. 마찬가지로 프로그래밍에 추상화가있을 때마다 추상화가 숨겨져 있다는 구현도 있습니다. 그러나 그것은 질문이 요구하는 것 같습니다.
jhocking

@jhocking 자동차의 브레이크와 가속기는 서로 반대이지만 보완 적입니다. 건배.
umlcat 2019

플라토닉 영역에서 (단순) 물리적 현실로의 미묘한 추상화의 "조증"
Conor Cosnett

41

보통

Concretization - C ++ Concrete 클래스와 동일

그리고 어떤 경우에는 :

전문화 -C ++ 템플릿 전문화 에서와 같이

2012 년 6 월 12 일 추가됨 : 이것은 멋진 용어입니다.

수정 - 여러 프로그래밍 언어 에서와 같이


6
나는 '콘크리트 화'의 사용에 동의하지 않지만 약간 성가신 단어입니다 ... '콘크리트'가 더 나을까요? thefreedictionary.com/concretion
HorusKol

1
결핵 확실히.
Zachary Yates

콘크리트가 콘크리트 뒤에 놓였습니까? 그냥 물어 :-)
JensG

5

그것의 축소 를 프로그래밍하는 맥락에서 .

환원주의

"문제를 가장 간단한 용어로 줄였습니다."


4

"콘크리트"는 "추상"의 반대이므로 "추상"의 반대는 논리적으로 "콘크리트 화"입니다. 그러나 의미있는 반대는 없습니다. 일반적으로 추상화에 대해서만 이야기하고 반대에 대해서는 거의 생각하지 않기 때문입니다.


3

처음부터 시작합시다. 우선, 추상화 란 무엇입니까?

문제 / 동기

프로그래밍 할 때 종종 매우 구체적인 문제를 해결해야합니다.

추상화의 주된 동기는 프로그램이 전체 문제를 단일 단위로 처리하는 상황에서주의를 기울이고 이해해야하는 많은 별개의 작은 특성이있는 상황에 처할 수 있다는 것입니다. 여기서 문제는 인간이 한꺼번에 엄청난 양의 데이터를 처리하기 어렵다는 것입니다.

해결책 : 추상화

당신이 할 수 있기 위해서는 당신이 당신의 아이디어를 구현하기 위해해야 할 일은 단지 이해 , 당신은 추출 상세한 솔루션 으로 단순화 된 추상화를 .

예를 들어, SQL이 오브젝트로 추상화되는 ORM (Object-Relational Mapping)을 보자.

추상화없이 데이터베이스에 새 항목을 삽입하려면 프로그래머가 SQL을 알아야합니다. 따라서 새 항목을 삽입하려면 프로그래머가 새 항목을 테이블에 삽입하기위한 SQL 구문을 기억해야합니다.

INSERT INTO Items (field1, field2) VALUES (value1, value2)

그러나 추상화를 통해 프로그래머 는 자신이하고 싶은 일 에 대한 아이디어 만 알면됩니다. 객체 지향 추상화는 다음과 같습니다.

Item item = new Item(value1, value2)

조금 더 나아가서 SQL 자체가 수많은 정교한 데이터 저장 구조와 알고리즘에 대한 거대한 추상화라는 사실에 대해 생각할 수 있습니다.이 데이터는 간단한 선언적 언어를 배우는 데 도움이됩니다.


추상화의 반대

우리는 이제 정의 된 내용에 따라 추상화는 정말로 단지 손의 전형적인 개념을 알고 충분한 만들기에 대한, 우리는 쉽게 반대 있음을 추론 할 수 추상화는 사실에 esoterica , 어디에 사용 또는 전문 지식의 일종을 가지고 이해를 수반한다 피험자의 특성.


1

"주의 산만"-코드가 실제로 실행될 때 발생하는 많은 접선 정보를 알지 못하면 코드를 이해할 수 없을 때 발생하는 것과 같은 방식.


0

추상화는 절대적 위치에서 비롯된 것으로서 "그리기"로 번역하는 것이 가장 좋습니다. 나는 블로그 포스트 에서 그것을 설명하려고 노력했다 .

추상화의 과정이다 도면 본질 에서 구체적인 무엇인가. 구체적인 것은 대개 매우 복잡합니다. 예를 들어, 가장 가까운 의자를 보면 실제로이를 구성하는 많은 세부 정보가 있습니다. 재료, 구조, 모양 등. 그러나 이것들 중 어느 것도 실제로 필수적인 것은 아닙니다 . 중요한 것은 앉을 수 있다는 것입니다.
당신이 무언가 볼 때, 당신 의 "추상"은 당신이 보는 것입니다. 그 의자를 보면 의자가 보입니다. 레슬러는 실제로 무기를 볼 수 있습니다.

따라서 추상화의 결과는 실제로 주어진 관점에서 무언가의 본질입니다.

비트 맵 또는 텍스트의 경우 추상화는 주어진 값을 특정 목적을 달성하는 것으로 생각하는 것입니다. 사용하는 프로그래밍 언어에 따라 언어 의미 내에서 생각을 표현할 수 있습니다.
그러나 기본 데이터가 "이진"인지 여부는 중요하지 않습니다. 그것은 13 비트 홀 펀칭 패턴으로 인코딩 된 데이터를 갖는, 롤링 된 종이 롤로부터 실시간으로 읽히는 경우에도 잘 작동 할 것이다. 당신은 정말로 상관하지 않습니다.
물론 메모리에 저장된 이진 데이터를 사용하여 구체적인 비트 맵을 구현하면 몇 가지 명백한 이점이 있으며 대부분의 사람들이 선호합니다. 그러나 실제로 비트 맵 정보를 실제로 인코딩하는 방법에는 여러 가지가 있습니다. 그리고 서로 다른 접근 방식을 사용하는 것이 합리적 일 수도 있습니다. 그러나 많은 제약 조건을 기반으로 표현을 선택하는 작은 코드 조각을 제외하고 비트 맵의 ​​구체적인 특성에 대해 알고 싶지 않습니다. 당신은 당신의 관점에서 필수적인 것에 만 관심이 있습니다. 이 예제에서는 아마도 픽셀 데이터를 조작하는 많은 방법 일 것입니다.

추상화는 실제로 무엇보다 이상적인 모델에서와 같이 실제로 가장 먼저 아이디어이기 때문에 그 반대의 의미는 "화신"이라고 할 수 있습니다. 프로그래밍은 거의 육체적 인 일이 아니기 때문에 "구현"과 함께 사용되는 반면 추상화는 종종 인터페이스로 표현됩니다.
@Lior가 말한 것처럼 구체화는 실제 목표 (즉, 아이디어를 구현하는 것)보다는 수단 (즉, 구체적으로 표현하는 것이 불가피 함)에 더 초점을 맞추고 있지만 매우 적합한 단어입니다.


0

추상화는 무언가를 일반화하기 위해 세부 사항을 제거하는 프로세스입니다. 추상화가 세부 사항을 제거하는 경우 추상화의 반대가 사양 일 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.