"방법"은 객체 지향 프로그래밍에서 특수한 용어입니다. 이 단어가 언제이 특별한 의미로 사용되기 시작했는지, 그리고 어떤 프로그래밍 언어 나 다른 정량적 학습과 관련되어 있는지 아는 사람이 있습니까?
"방법"은 객체 지향 프로그래밍에서 특수한 용어입니다. 이 단어가 언제이 특별한 의미로 사용되기 시작했는지, 그리고 어떤 프로그래밍 언어 나 다른 정량적 학습과 관련되어 있는지 아는 사람이 있습니까?
답변:
Java와 C #은 C ++에서 메소드 를 얻었고 Simula 에서 얻었습니다 .
그리고 Algol은 아마도 Simula에 영향 을 미쳤을 것입니다 :
또한 MIT ALGOL 버전 인 AED-0은 데이터 구조 (해당 방언의 "플렉스")를 프로 시저와 직접 연결하여 나중에 "메시지", "방법"및 "멤버 기능"이라고하는 것을 미리 구성합니다.
명확한 대답을 찾기는 어렵지만 방법으로 사물을 언급하는 첫 번째 언어는 시뮬 라 인 것으로 보이지만 거짓이거나 소급 적 일 수 있습니다. 함수 (수학의 함수)와 프로 시저 (수학의 함수)가 프로그래밍 언어로 표시되는 것을 감안할 때, "방법"은 "방법론"의 짧은 형식이라는 것이 가장 좋습니다.
이들 모두는 컴퓨터 프로그램을 구성하는 코드 비트 인 서브 루틴입니다. OOP 스타일 프로그래밍의 기본 아이디어는 코드를 최대한 재사용하는 것이기 때문에 "Method"가 선택되었다고 생각합니다. 따라서 프로 시저를 가질 수는 있지만 메서드를 사용하면 작업중인 스타일이 더 명확 해집니다. 솔직히, 나는 메소드 함수를 호출하는 것으로 알려져 있으며 메소드라는 함수를 들었습니다.
void. C ++ 멤버 함수는 Simula와 달리 일반 함수와 밀접한 관련이 있습니다. 암시 적 this매개 변수가 있고 런타임 디스패치 메커니즘이 처리하는 내용을 실제로 변경하지는 않습니다. C가 함수와 프로 시저를 같은 것으로 처음 취급했는지는 모르겠지만, 파스칼 (새로운 언어)에는 키워드 function와 procedure키워드가 있습니다. IIRC이지만 파스칼 함수에는 부작용이있을 수 있습니다.
나는 수십 년 동안 이것에 대한 정보를 찾고 있습니다. 지금까지 필자는이 용어가 수치 계산의 특수 서브 필드에서 Simula로 들어 왔으며, 함수 (예 : 고유 값 등)를 구현하는 특정 알고리즘을 종종 메소드 라고합니다 . 이는 동일한 수학적 함수를 계산 하기 위한 다양한 수치 방법 을 다양한 상충 관계로 가질 수 있기 때문 입니다. OOP에서, 때문에 방법은 무시, 당신은 클래스에 맞게 다르게 구현 "같은"기능이있을 수 있습니다 - 예를, 지역은 다르게 구현 될 것이다 원 과 사각형 모두, 모양 가지고 영역을. 이것은 전통적인 수학적 방법의 개념을 합리적으로 확장 한 것 같습니다.
나는 OOP 역사에서이 단어의 어원에 대해 아무것도 모른다. 그러나 나는 그것이 공제 적이 지 않다는 것을 알고 있습니다. 더 나은 용어 (더 많은 추론 용어 또는 MDT)는 반응 또는 행동 일 수 있습니다.
REAL BASIC, VBx 및 VB.net 배경을 가진 프로그래머는 "FUNCTION"및 "SUB"라는 두 가지 유형의 메소드 선언을 알고 있습니다. BASIC 언어 계열에서는 "SUB"키워드뿐만 아니라 "FUNCTION"키워드를 사용하여 함수를 선언 할 수 있습니다. 이 둘의 차이점은 "FUNCTION"은 "SUB"로 값을 리턴 할 수 있거나 리턴하지 않으며 코드를 실행하지만 값을 리턴하지 않는다는 것입니다. 그러나 OO 개념의 출현으로 sub 및 function이라는 용어가 방법으로 상호 교환 적으로 사용되기 시작했습니다.