2016-07-22 8 views
1

수많은 웹 사이트를 볼 때. 어떤 사람들은 객체 지향 프로그래밍과 명령형 프로그래밍을 혼용하여 사용하지만, 다른 사람들은 자신이 다르다고 말합니다.명령형 프로그래밍과 객체 지향 프로그래밍의 차이점은 무엇입니까?

나는 객체 지향과 명령형의 차이점과 이러한 패러다임이 어떻게 다른지 알고 싶습니다. 아니면 전혀 차이가 없다면.

+0

이 질문은 programmers.stackexchange.com –

+2

@RobK 아니, 정말 않을 것에 대한 더 적합 할 것이다. 주제에 대해 쓰여진 _books_과 용어에 관한 거룩한 전쟁이 있습니다. 아마도 논문 밖에서는 답할 수 없습니다. – enderland

+0

@enderland "덜 나쁜 것"? 그러나 우리는 확실히 여기에 적합하지 않다는 것에 동의합니다. –

답변

5

자주 사용되는 용어가 다른 사람들에게 다른 것을 의미하기 때문에 힘든 내용입니다.

(일부는 "엄격하게 말하면") 명령형은 선언적 인 것과 반대입니다.

엄격한 OO 지지자는 OO가 선언적이라고 말할 것입니다. 데이빗 웨스트 (David West)의 저서와이 블로그의 "Object Thinking"스타일을 참조하십시오 : http://www.yegor256.com/.

OO는 실용적인 세계를 묘사하고 모델링하는 것보다는 컴퓨터에 무엇을 할지를 알려주는 매우 절차적이고 명령적인 스타일로 종종 "양도됩니다"(다시, 다른 사람들은 크게 반대합니다))를 개체와 함께 사용합니다.

(Here's 유용 할 수 있습니다 비디오. 그것은 절차 적 프로그래밍과 OO를 대조하고, 여기에 우리의 목적은 "절차는"약 "필수적"에 대한 동의어입니다.)

나는 그 좋은 대답하지 알고, 하지만 아마도 유용 할 것입니다.

+0

OOP는 거의 은유 적으로 절차 적 패러다임과 명령 적 패러다임의 중간자 같은 사람과 비슷합니까? – attachPost

+0

@attachPost, 의견을 통해 토론을 시작하는 대신 질문을 편집하거나 새로운 질문을하십시오. – jaco0646

+1

@attachPost가 무엇을 의미하는지 정확히 알 수는 없지만 OOP는 OOP를 정의하는 방법에 따라 명령형 또는 선언 형으로 간주 될 수 있습니다. 완전한 공개를 위해, 나는 "좋은"OOP (OOP가 제대로 이해됨)가 근본적으로 선언적이라는 견해로 넘어 가고 있습니다. 더 긴급하거나 절차 적 일수록 당신은 그 요점을 놓치고 있습니다. 그리고 이상적으로 두 가지 접근 방법을 혼합해서는 안됩니다. 이 견해는 많은 사람들과 잘 어울리지 않습니다. 그러나 적어도 두 가지 "극단"에 대해 알고 있어야합니다. :) –

0

위에서 아래로 이어지는 두 가지 주요 유형의 명령형 언어가 있습니다.

  • 절차 언어 (예를 들면 BASIC, FORTRAN) - 코드 및 데이터는 완전히 별개로 취급하고, 간단한 동작 코드 온 데이터 패러다임을 갖는다.

  • 객체 지향 (OO) 언어 - 데이터와 코드 (메소드의 형태)가 함께 객체로 묶입니다. OO 언어에서 메타 데이터 (예 : 클래스 정보)에 따라 추가 구조가 더 많거나 적게 부과됩니다.

+0

프로그래밍 패러다임과 프로그래밍 언어를 혼동하지 마십시오. 대부분의 현대 언어는 여러 패러다임을 지원합니다. – jaco0646