Articles

소 객체-지향 프로그래밍 언어:가이드

객체-지향 프로그래밍 언어를 사용하는 개체를 모두 포함 데이터 및 코드입니다. 객체 지향 프로그래밍의 원칙은 캡슐화,추상화,다형성 및 상속입니다.

객체-지향 프로그래밍(OOP)언어는 어디에나 있습니다. 오늘날 컴퓨팅 세계를 구성하는 가장 널리 사용되는 코딩 언어 중 상당수는 객체 지향적입니다. 사실,많은 컴퓨터 프로그램과 웹상의 많은 콘텐츠는 높은 수준의 객체 지향 언어를 기반으로 구축됩니다. 는 방법을 이해 객체-지향 언어 작업이 왜 그들은 유용한 중요한 거의 모든 경력에 컴퓨팅에 있습니다.

이 기사에서는 객체 지향 언어가 무엇인지 살펴보고 장단점을 살펴 보겠습니다. 우리는 또한 오늘날 사용중인 가장 인기있는 OOP 언어 중 일부의 명단을 살펴 보겠습니다.

프로그래밍 언어 란 무엇입니까?

프로그래밍 언어는 프로그래머가 컴퓨터에 실행할 명령어 세트를 제공 할 수있는 일련의 규칙 및 프로 시저입니다. 모든 프로그래밍 언어 자신의 구문,배운 후,당신이 말할 수 있습 컴퓨터에서 작업해야 수행할 수 있습니다.

양식을 제출
을 찾아 Bootcamp 경기
  • 경력 업 일으로 최고 기술능성
  • 독점 장학금 및 준비 과정

생각은 그것에 대해 이 방법입니다. 영어는 영어 스피커와 의사 소통 할 수있는 언어입니다. 당신이 영어의 기본 규칙을 알고있을 때,당신은 그 같은 규칙을 이해하는 다른 사람과 이야기 할 수 있습니다. 그러나 컴퓨터는 영어 나 그 문제에 대한 다른”전통적인”언어를 이해할 수 없습니다.

객체 지향 프로그래밍 언어 란 무엇입니까?

컴퓨터는 강력한 기계입니다. 컴퓨터를 사용하면 숫자를 매우 빠르게 계산할 수 있으며 많은 응용 프로그램을위한 놀라운 프로그램을 제작할 수 있습니다. 그러나,이것을 이용하는 힘,우리가 필요한 컴퓨터와 통신하는 무언가를하는 것보다 덜 고통스러운 것 수동으로 입력하는 사람과합니다.

따라서 프로그래밍 언어가 있습니다.이 언어는 이미 작성된 기계 코드로 출력됩니다. 그러나 우리가 기계 코드에서 더 많이 제거 될수록 더 추상적이고 전문화 된 언어가 데이터를 처리하게됩니다. 이런 이유로 우리는 그래서 많은 언어이지어는 완벽한,그리고 그들은 모두 다른 중복 응용 프로그램.

프로그래밍 패러다임

이고,프로그래밍 언어가 자주로 구분하여 자신의 프로그래밍 패러다임이다. 프로그래밍 패러다임은 데이터를보고 액세스하는 한 가지 방법입니다. 두 가지 기본 패러다임은 객체 지향적이고 기능적이지만 더 많은 것이 있습니다(위의 기본 원칙 인 일부 포함).

객체-지향 프로그래밍은 주위에 내장되어있는 개체는 데이터는 구조물을 모두 포함 데이터(속성이나 특성)과 코드(진 절차와 방법에 따). 객체는’이’또는’자기로 자신을 수정할 수 있습니다.’대부분의 OOP 언어에서 거의 모든 것이 값과 실행 코드를 모두 가질 수있는 객체입니다. 각 객체는 고유하며 다른 객체의 복사본 일 수 있지만 변수는 다른 객체의 변수와 다를 수 있습니다.

체에서 객체지향 소프트웨어 디자인의 생각할 수 있는 실제적인 개체입니다. 시계와 같은 물건을 생각해보십시오. 그 시계에는 속성이 있습니다. 그것은 금속으로 만들어졌으며 검은 색이며 비중이 있습니다. 그러나 그 물체는 또한 일을합니다. 그것은 시간을 표시하고,또한 그것의 손의 위치를 변경 기어를 회전하여 자체에 영향을 미칠 수 있습니다.

객체의 또 다른 특징은 시계가 작동하도록하기 위해 시계가 어떻게 기능하는지 항상 알 필요가 없다는 것입니다. 시계가 잘 지어 졌다고 가정하면 우리가 내부 동작을 방해 할 필요없이 안정적으로 시간을 알 수 있습니다. 객체 지향 언어에는 실제 객체와 유사한 객체가 있습니다. 그들은 속성과 기능을 가질 수 있습니다. 그들은 또한 특정 일련의 원칙을 따르는 경향이 있습니다.

객체 지향 프로그래밍 원리

객체 지향 언어는 네 가지 원칙으로 제공됩니다. 이 네 가지 원칙은이를 정의하고 훨씬 더 효율적으로 만드는 공통 속성입니다. 어떤 사람들은 그것들을 객체 지향 프로그래밍의 네 가지 기둥이라고 부릅니다.

네 가지 기둥의 객체-지향 프로그래밍:

  1. 캡슐화
  2. 추상화
  3. 상속
  4. 다형성

네 가지 원칙

탐구하자는 이러한 네 가지 원칙에 더 깊이가 있습니다.

  • 캡슐화 캡슐화는 개념의 데이터 바인딩 기능을 작동하는 보안 기능을 유지하는 데이터는 안전하다. 예를 들어,많은 OOP 어지 이외의 아무것도 특정 메서드 클래스에서 소유 데이터에 액세스하는 데이터입니다. 이것은 종종 특정 데이터를 안전하게 유지하기 위해 명시 적으로 수행됩니다.
  • 추상화-추상화는 한 가지 일을 너무 자주한다면 자신의 실체가되어야한다는 생각입니다. 예를 들면,프로그래머는 반복적으로 재작성에 대해 동일한 기능을 다른 개체,그 기능을 수 있습 추가 그것의 자신의 entity.
  • 상속-상속은 그것이 들리는 것이고,가장 자주”is a”관계로 정의됩니다. 그것은 특정 클래스가 다른 클래스의 우산 아래에있게합니다. 이러한 클래스는 해당 클래스에서 정보 및 기능을 상속하는 동시에 해당 기능을 확장 할 수 있습니다. 그것은 우리가 이미 다른 클래스에서 입력 한 코드를 재사용 할 수있게 해줍니다.
  • 다형성-다형성은’하나 이상의 모양을 취하는 것을 의미합니다.’OOP 언어의 의미에서,그것은 그들이 무엇인지에 따라 객체를 다르게 처리 할 수있는 능력을 말합니다. 그것은 우리가 파생 된 클래스를 기반으로 객체를 처리하기위한 다른 메소드를 정의 할 수있게합니다. 는 경우,예를 들어 우리는 우리를 찾기 위해 필요한 크기의 무언가를,우리는 변경 될 수 있습니다 어떻게 우리가 그것을 측정하는 무엇을 기반으로 그것입니다. 그것이 나무의 판자라면,나는 그것을 인치로 측정 할 것입니다. 이것은 내가 무게로 측정 할 물 볼륨과 반대입니다. 하는 도구로 사용한다면 다형성,우리가 만들 수 있는 기능을 사용할 수 있는 하나 개체고 여전히 우리에게 온전한 측정합니다.

인기 있는 객체-지향 프로그래밍 언어

Java,Python,C++,Lisp,및 펄은 모두 예의 인기있는 객체-지향 프로그래밍 언어입니다. 클래스 및 객체 패러다임을 사용하여 프로그래밍을 지원합니다.

가장 인기있는 객체 지향 언어 중 다섯 가지는 다음과 같습니다:

  1. Java
  2. Python
  3. C++
  4. Ruby
  5. C#
  • Java–Java 는 모든 곳,그리고 그것은 하나의 대부분의 사용과 수요가 많은 언어의 모든 시간입니다. 자바의 모토는’한 번 쓰고 어디서나 실행’이며,이는 실행되는 플랫폼과 사용되는 장소의 수에 반영됩니다.
  • Python-Python 은 범용이며 많은 곳에서 사용됩니다. 그러나 파이썬은 기계 학습 및 데이터 과학 분야에서 강력한 발판을 가지고 있습니다. 그 새롭고 끊임없이 성장하는 분야에 선호되는 언어 중 하나입니다.
  • C++-c++는 클래스의 기능과 객체 지향 패러다임을 가진 c 의 속도를 가지고 있습니다. 컴파일되고 신뢰할 수 있으며 강력한 언어입니다. 사실 다른 언어 용 컴파일러와 인터프리터를 빌드하는 데에도 사용됩니다.
  • Ruby-Ruby 는 또 다른 범용 프로그래밍 언어입니다. 그것은 단순함을 위해 지어졌습니다. 그렇게 말하면서 루비는 믿을 수 없을만큼 강력한 언어입니다. 창조자의 루비,유키히로”마츠”마츠모토,말했다,”루비에게 아주 간단하지만,매우 복잡한 내부처럼,우리 인간의 몸입니다.”
  • C#–C#은 Microsoft 가 설계 한 프로그래밍 언어입니다. 그것은 많은 웹 앱,게임,데스크톱 앱 및 모바일 앱과 함께 Microsoft.NET framework 를 Cc#powers 의 기존 개념을 개선하도록 설계되었습니다.

위에서 다루지 않은 다른 객체 지향 언어가 있습니다. Perl,Objective-C,Dart,Lisp,JavaScript 및 PHP 는 모두 객체 지향적이거나 객체 지향 원칙을 지원합니다.

의 장점과 단점 객체-지향 프로그래밍 언어

동안 OOP 언어할 수 있는 강력한,그들은 유용하지 않는 모든 상황에 대와 함께 일부는 수하물 고려해야 합니다.

Pros

재사용 성

객체 지향 코드는 설계 상 매우 모듈 식입니다. 다형성과 추상화 때문에 반복해서 사용할 수있는 하나의 함수를 만들 수 있습니다. 상속으로 이미 작성된 정보와 기능을 복사할 수도 있습니다. 이것은 시간을 절약하고 복잡성을 줄이며 공간을 절약하고 코딩을 손가락에 더 가벼운 부하로 만듭니다.

병렬 개발

있는 충분한 기초 부품의 프로그램을 개발할 수 있는 별도로에서 각각 다른 여전히 기능에서 객체지향적 원칙이 있습니다. 이렇게하면 더 큰 개발 팀의 동시 개발이 훨씬 쉬워집니다.

유지보수

기 때문에,대부분의 경우,모든,우리의 코드입니다,한 곳에서 호출되고,재사용하는 코드는 많은 유지하기 쉽습니다. 대신하여 개별적으로 수백 개의 다른 경우 함수가 호출로,우리는 해결할 수 있습니다 하나의 모듈과 다형성은 기능이다.

보안

는 동안 대부분의 언어는 몇 가지 보안,객체 지향적 언어로 편리하기 때문에 보안에 캡슐화합니다. 다른 메소드와 클래스는 기본적으로 개인 데이터에 액세스 할 수 없으며 OOP 언어로 작성된 프로그램은 더 안전합니다.

모듈성

객체 지향 프로그래밍 언어는 응용 프로그램을 객체와 클래스로 분해합니다. 이는 애플리케이션에보다 모듈 식 구조를 제공하기 때문에 유익합니다. 모듈 식 코드는 읽기가 더 쉽습니다. 따라서 유지 관리가 더 쉽습니다.

단점

자주 지저분

기 때문에 객체 지향적 언어가 그렇게 사용자 정의 및 확장,그것을 잃게 하는 것이 쉬울 수 있는 방법에 대한 이해의 코드 작동합니다. OOP 코드는 여러 가지 방법으로 작동 할 수 있습니다. Oop 에는 다른 방법론과 잘 작동하지 않거나 비효율적이거나 사용하기가 어려운 프로그래밍 방법론이 많이 있습니다.

더 많은 계획이 필요합

기 때문에 이러한 언어 있다 그래서 모듈이고 확장 가능한가에 없는 디자인을 앞의 시간은 재해를 위한 조리법이다. 효율적인 프로그램을 만들려면 다른 프로그래밍 패러다임보다 견고한 계획이 필요합니다.

불투명도

이것은 사기만큼 프로입니다.객체와 함수는 독립적으로 작동 할 수 있습니다. 그들은 정보를 받아(일반적으로)신뢰할 수있는 결과를 반환 할 수 있습니다. 결과적으로,그들은 블랙 박스로 끝날 수 있으며,그들이하는 일이 항상 명백하지는 않다는 것을 의미합니다. 프로그래머가 아마도 그 객체를 만들었고 그것이하는 일을 알고 있지만,OOP 언어는 단순히 다른 언어만큼 투명하지 않습니다.

성능

객체 지향 언어는 종종 성능 타격을 입습니다. OOP 언어로 만들어진 프로그램은 종종 더 크고 기능 언어보다 실행하는 데 더 많은 계산 노력이 필요합니다. 그러나 이것이 항상 사실이거나 중요한 것은 아닙니다. C++는 OOP 언어이지만 사용 가능한 가장 빠른 언어 중 하나입니다. 같은 메모에서 속도가 항상 중요하지는 않습니다. 속도의 차이는 거대하거나 복잡한 계산을 처리 할 때나 극단적 인 속도가 필요한 경우에만 분명해진다.

이제 당신은 확고한 이해의 어떤 객체 지향적 언어가,그것은 무엇을 위해 좋은,그리고 가장 인기가 있습니다. 이러한 언어로 프로그래밍하는 것이 수익성만큼 즐거울 수 있으며 개발 경력은 불과 몇 걸음 떨어져 있습니다.