성찰이 아니라 성찰을 성찰이라고 부르는 이유는 무엇입니까?
성찰이라는 용어의 기원은 무엇입니까? 자기 성찰처럼 보입니다. 왜 그렇게 부르지 않습니까?
자기 성찰 : 내부를 바라 보는 것; 특히, 자기 검토의 행위 또는 과정.
반사 :
- 반영하는 행위 또는 반영된 상태.
- 이미지; 대표; 짝
- 무언가에 대한 생각의 고정; 신중한 고려
- 고려 또는 명상에서 발생하는 생각.
Reflection에 대한 프랑스어 wikipedia 기사에 흥미로운 답변이 있습니다 ( 여기 )
반사는 두 부분으로 분해 될 수 있습니다.
- introspection : 프로그램은 자신을 검사 할 수 있습니다.
- 중보기도 : 프로그램은 상태 / 의미를 수정할 수 있습니다.
따라서 성찰은 자기 성찰보다 '강한'속성입니다. 그렇기 때문에 런타임에 유형을 알 수있는 기능에 대해 유형 검사 라고 말한 것입니다 (그리고 변경은 또 다른 작업 : 변환 / 캐스팅).
편집 : 실제로 나는 첫 번째 대답이 정확히 말하고 있다는 것을 깨달았습니다 ^^. 내 자신을 뽑을 시간 ...
성찰은 변화의 목적을 위해 자기 자신을 성찰하는 "자기 검토, 자기 수정 및 자기 복제"라는 개념에서 비롯됩니다. 프로그래밍에서 리플렉션을 사용하여 프로그램 자체를 검사하는 대신 사용하는 맥락에서 프로그램 자체의 구조를 검사합니다. 돌아 오는 것은 작동하는 데이터가 아니라 수정하는 데 사용할 수있는 프로그램의 표현입니다.
더 많은 정보는 wikipedia 기사에서 찾을 수 있습니다 . .
런타임에 개체의 유형을 결정하는 기능을 나타내는 유형 검사라는 또 다른 개념이 있습니다.
편집 : 귀하의 질문은 언어에 구애받지 않지만 Java에서는 리플렉션을 사용하여 객체가 어떤 구성원을 보유하고 있는지 식별하는 반면 내성 검사를 사용하면 객체가 가진 JavaBeans 속성을 식별 할 수 있으므로 내성 클래스가 있습니다. java.beans 패키지. 하지만 다른 언어에서는 용어의 정확한 차이가 뭔지는 모르겠지만
리플렉션이라는 용어는 http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-272.pdf 에서 찾을 수있는 Brian Cantwell Smith의 1982 년 PHD 논문에서 유래되었습니다 .
리플렉션이라고 불리는 것은 종종 단순히 자기 성찰, 즉 메타 데이터에 대한 접근입니다. 반영에 대한 Smith의 요구 사항에는 메타 데이터 의 인과 관계가 포함되어 있으며 이는 일반적으로 누락 된 구성 요소입니다. 반영을 상상하는 한 가지 방법은 구현에 대한 액세스이며, 단순히 계산의 일부 새 인스턴스의 구현이 아니라 자체 구현에 대한 계산의 액세스 입니다. 확실히 Java의 원래 리플렉션 API는 이러한 의미에서 리플렉션이 아니기 때문에 이름이 잘못되었습니다.
.Net에서는 Reflection이라는 용어가 검사되는 유형 자체가 아니라 설명 일 뿐인 코드의 매니페스트이기 때문에 매우 적절하다고 생각합니다.
정의 3과 4의 의미에서 성찰은 내성적 일 수 있습니다. 즉, 성찰은 자신에 대한 성찰이다. 자기 성찰이란 단어가 더 구체적이기 때문에 코드 자체를 분석하는 행위에 사용하기에 더 좋은 단어라고 생각하지만, 성찰이 완전히 부적절하다고 생각하지는 않습니다.
'Programing' 카테고리의 다른 글
C # JIT 컴파일 및 .NET (0) | 2020.10.15 |
---|---|
Go에서 구조체의 필드를 반복합니다. (0) | 2020.10.15 |
Java의 어떤 작업이 원 자성으로 간주됩니까? (0) | 2020.10.15 |
Xcode 4를 사용한 iPhone Ad Hoc 빌드 (0) | 2020.10.15 |
정수 <-> 포인터 캐스트가 실제로 올바른 때는 언제입니까? (0) | 2020.10.15 |