> 백엔드 개발 > Golang > Go 언어는 무엇을 지향하나요?

Go 언어는 무엇을 지향하나요?

青灯夜游
풀어 주다: 2023-01-28 10:45:19
원래의
1841명이 탐색했습니다.

Go 언어는 객체 지향도 아니고 프로세스 지향도 아닙니다. 왜냐하면 Go는 뚜렷한 경향이 없지만 오히려 프로그래머가 어떻게 사용할지 고민할 수 있게 해주기 때문일 것입니다. 아마도 그 특징은 유연성이고 프로그래머가 사용할 수 있을 것입니다. 객체 지향을 구현하지만 그렇지 않습니다. 기본적으로 객체 지향 의미론을 지원하지 않습니다. Go는 함수를 구조에 바인딩할 수 있기 때문에 객체 지향적이라고 합니다(구조는 객체 지향에서 객체로 간주될 수 있음). 객체 지향에는 캡슐화, 상속, 다형성이라는 세 가지 주요 특성이 있고 go의 구조는 상속을 지원하지 않기 때문에 Go는 완전히 객체 지향이 아니라고 합니다.

Go 언어는 무엇을 지향하나요?

이 튜토리얼의 운영 환경: Windows 7 시스템, GO 버전 1.18, Dell G3 컴퓨터.

Go 언어는 객체 지향도 프로세스 지향도 아니지만 구현하고 싶다면 실제로 할 수 있습니다.

  • 객체 지향: 객체를 중심으로 객체의 동작을 생각합니다.

  • 프로세스 지향: 프로그래밍에서는 함수를 중심으로 함수의 목적을 생각합니다.

Go는 함수를 구조에 묶을 수 있기 때문에 객체 지향적이라고 합니다(객체 지향에서는 구조를 객체로 간주할 수 있음). 주요 기능: 기능: 캡슐화, 상속, 다형성. Go의 구조는 상속을 지원하지 않습니다(그러나 구조의 중첩/조합은 지원합니다).

Go는 구조적 객체에 함수를 묶을 필요가 없고 프로세스 지향 방식으로 설계하고 프로그래밍할 수 있기 때문에 프로세스 지향적이라고 합니다.

엄밀히 말하면 Go는 OOP 언어는 아니지만 OOP 프로그래밍 스타일을 허용하므로 개발자가 Go를 사용하는 방법을 고려할 수 있습니다.

Golang은 둘 다 아니라고 할 수 있습니다. 왜냐하면 Golang은 뚜렷한 경향이 없지만 프로그래머가 이를 사용하는 방법을 고려하도록 하는 것을 선호하기 때문입니다. 아마도 그 특징은 유연성이고 프로그래머는 이를 사용하여 객체 지향을 구현할 수 있지만 기본적으로는 그렇지 않습니다. 객체 지향 의미론을 지원합니다.

지식 확장:

  • 객체 지향

객체 지향(OO)은 현재 컴퓨터 산업의 초점이며 1990년대 소프트웨어 개발 방법의 주류였습니다. 객체 지향 개념과 응용 프로그램은 프로그래밍과 소프트웨어 개발을 넘어 광범위한 영역으로 확장되었습니다. 데이터베이스 시스템, 대화형 인터페이스, 애플리케이션 구조, 애플리케이션 플랫폼, 분산 시스템, 네트워크 관리 구조, CAD 기술, 인공 지능 및 기타 분야 등이 있습니다.

객체 지향에 관한 기사는 이 분야에 많이 나와 있습니다. 그러나 객체의 정의를 명시적으로 제공하거나 언급하는 경우는 거의 없습니다. 적어도 저는 아직까지 찾지 못했습니다. 처음에 "객체 지향"은 특히 프로그래밍에서 캡슐화, 상속, 다형성 및 추상화와 같은 설계 방법을 사용하는 것을 의미합니다. 그러나 이 정의는 분명히 더 이상 상황에 맞지 않습니다. 객체지향적 사고는 소프트웨어 개발의 모든 측면에 관여해 왔습니다. 예를 들어 객체 지향 분석(OOA, 객체 지향 분석), 객체 지향 디자인(OOD, 객체 지향 디자인), 그리고 우리가 종종 객체 지향 프로그래밍(OOP, 객체 지향 프로그래밍)이라고 부르는 것이 있습니다. 객체 지향에 관한 많은 기사에서는 객체 지향 개발에서 주의해야 할 문제나 채택된 더 나은 설계 방법에 대해서만 설명합니다. 이 기사를 읽는 것은 객체가 무엇인지, 객체 지향이 무엇인지 진정으로 이해하는 경우에만 가장 큰 도움이 될 수 있습니다. 이쯤 되면 초보자는 물론, 관련 업무를 수년 간 해오신 분들도 막연한 개념을 갖게 되실까 두렵습니다.

  • Procedure Oriented

"Procedure Oriented"는 프로세스 중심 프로그래밍 아이디어입니다. 이는 영향을 받는 객체 지향과는 달리, 무슨 일이 일어나고 있는지에 대한 주요 목표를 가지고 프로그래밍하는 것입니다. 객체 지향과의 명백한 차이점은 캡슐화, 상속 및 클래스입니다.

【관련 추천: Go 비디오 튜토리얼, 프로그래밍 교육

위 내용은 Go 언어는 무엇을 지향하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿