Javascript가 Oop 언어인지 아닌지

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

객체 지향 프로그래밍(OOP) 언어는 우리가 보는 모든 곳에 있습니다. 오늘날의 컴퓨팅 세계를 구성하는 가장 널리 사용되는 프로그래밍 언어의 대부분은 객체 지향입니다. 사실, 많은 컴퓨터 프로그램과 웹에 있는 많은 콘텐츠는 객체 지향 언어 . 객체 지향 언어가 어떻게 작동하고 왜 유용한지 이해하는 것은 IT 분야의 거의 모든 직업에서 중요합니다.

이 기사에서는 객체 지향 언어가 무엇인지 살펴보겠습니다. 그들의 장단점을 살펴보십시오. 또한 오늘날 사용되는 더 인기 있는 OOP 언어 목록도 살펴보겠습니다.

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

프로그래밍 언어는 프로그래머가 컴퓨터에 실행할 명령 집합을 제공할 수 있는 집합이자 규칙과 절차입니다. 각 프로그래밍 언어에는 고유한 구문이 있으며, 일단 배우면 컴퓨터가 수행해야 하는 작업을 알 수 있습니다.

이런 식으로 생각해 보세요. 영어는 영어 사용자와 의사 소통할 수 있는 언어입니다. 영어의 기본 규칙을 알면 그것을 이해하는 다른 사람과 이야기할 수 있습니다. 그러나 컴퓨터는 영어 또는 기타 "전통적인" 언어를 이해할 수 없습니다.

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

컴퓨터는 강력한 기계입니다. 컴퓨터를 사용하면 숫자를 매우 빠르게 계산할 수 있으며 많은 응용 프로그램을 위한 놀라운 프로그램을 만들 수 있습니다. 그러나 이 능력을 활용하기 위해 컴퓨터와 통신해야 하는 것은 수동으로 1과 0을 입력하는 것보다 덜 고통스러운 것입니다.

따라서 우리는 이미 작성된 기계 코드에서 지원하는 프로그래밍 언어를 보유하고 있습니다. 그러나 기계 코드에서 멀어질수록 데이터 관리 분야에서 더욱 추상적이고 전문화된 언어가 됩니다. 이것이 우리가 언어를 많이 사용하는 이유입니다. 완벽한 언어는 없으며 모두 서로 다른 중복 응용 프로그램을 가지고 있습니다.

프로그래밍 패러다임

이런 점에서 프로그래밍 언어는 종종 프로그래밍 패러다임과 분리됩니다. 프로그래밍 패러다임은 데이터를 보고 액세스하는 방법입니다. 두 가지 주요 패러다임 객체 지향 및 기능적 , 더 많은 것이 있지만(위의 이면에 있는 일부 원칙 포함).

객체 지향 프로그래밍은 객체를 중심으로 구축되며 데이터(속성 또는 속성)와 코드(프로시저 또는 메서드)를 동시에 포함하는 데이터 구조입니다. 객체는 `이것` 또는 `자신`으로 변경할 수 있습니다. 대부분의 OOP 언어에서 거의 모든 것은 값과 실행 코드를 모두 가질 수 있는 객체입니다. 각 개체는 고유하며 다른 개체의 복사본일 수 있지만 해당 변수는 다른 개체의 변수와 다를 수 있습니다.

객체 지향 소프트웨어 설계에서 객체는 실제 객체로 생각할 수 있습니다. , 예를 들어 시계. 이 시계는 속성이 있습니다. 금속이고, 검은색이며, 밀도가 있습니다. 하지만 이 물체는 또한 일을 합니다. 시간을 보여주고 심지어 시계 바늘의 위치를 변경하기 위해 기어를 돌려 스스로 영향을 미칠 수도 있습니다.

객체의 또 다른 특징은 시계가 작동하도록 하기 위해 시계가 어떻게 작동하는지 항상 알 필요는 없다는 것입니다. 시계가 잘 만들어졌다고 가정하면 시계는 우리가 방해할 필요 없이 확실하게 시간을 알려줍니다. 내부 작동.

객체 지향 언어는 실제 객체와 유사한 객체를 가지고 있습니다. 속성과 기능을 가질 수 있습니다. 또한 특정 원칙을 따르는 경향이 있습니다.

<스팬 클래스 = "ez-toc-section" id = "principles-of-object-oriented-programming"> 원칙 객체 지향 프로그래밍

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

객체 지향 프로그래밍의 4가지 기둥은 다음과 같습니다.

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

4가지 원칙

이 4가지 원칙을 더 자세히 살펴보겠습니다.

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

가장 널리 사용되는 객체 지향 언어 5가지 포함:

  1. Java
  2. Python
  3. C ++
  4. 루비
  5. C #

다른 개체가 있습니다. 지향적인 애플리케이션. 언어는 위에서 다루지 않았습니다. Perl, Objective-C, Dart, Lisp, JavaScript 및 PHP는 모두 객체 지향 또는 지원적입니다. 객체 지향 원칙.

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

OOP 언어는 강력할 수 있지만 모든 상황에 유용하지 않으며 고려해야 할 수하물과 함께 제공됩니다.

Pro

재사용성

객체 지향 코드는 매우 모듈식으로 설계되었습니다. 다형성과 추상화로 인해 반복해서 사용할 수 있는 함수를 만들 수 있습니다. 이미 상속으로 작성된 정보와 기능을 복사할 수도 있습니다. 이는 시간을 절약하고 복잡성을 줄이며 공간을 절약하고 코딩 작업을 단순화합니다.

병렬 개발

개발할 프로그램 부분에 대한 충분한 기반이 있습니다. 서로 분리되어 지향 원칙 개체에 따라 계속 작동합니다. 이렇게 하면 대규모 개발 팀에서 동시 개발을 훨씬 쉽게 수행할 수 있습니다.

유지 관리

전부는 아니지만 대부분의 코드가 하나의 이 코드는 호출되고 재사용되므로 유지하기가 훨씬 쉽습니다. 함수가 호출되는 수백 개의 다른 인스턴스를 개별적으로 수정하는 대신 모듈식 및 다형성 함수만 수정할 수 있습니다.

보안

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

모듈화

객체 지향 프로그래밍 언어 애플리케이션을 객체와 클래스로 나눕니다 . 앱에 제공하기 때문에 유리합니다. 더 모듈화된 구조를 lication합니다. 모듈식 코드는 읽기 쉽습니다. 따라서 유지 관리가 더 쉽습니다.

단점

종종 지저분함

객체 지향적이기 때문에 언어는 사용자 정의가 가능하고 확장 가능하므로 `코드 작동 방식에 대한 이해를 잃기 쉽습니다. OOP 코드는 여러 가지 방식으로 작동할 수 있습니다. 다른 방법론과 잘 어울리지 않거나 비효율적이거나 사용하기 어려운 OOP 프로그래밍 방법론이 많이 있습니다.

더 많은 계획이 필요합니다

이러한 언어로 너무 모듈화되고 확장 가능하기 때문에 사전에 명확한 계획 없이 입장하는 것은 재앙을 초래할 수 있습니다. 효과적인 프로그램을 만들려면 다른 프로그래밍 패러다임보다 견고한 계획이 필요합니다.

불투명도

단점 못지않게 장점입니다. 개체와 기능은 독립적으로 작동할 수 있습니다. 그들은 정보를 수신하고 (일반적으로) 신뢰할 수 있는 결과를 반환할 수 있습니다. 결과적으로 블랙박스가 될 수 있습니다. 이는 그들이 하는 일이 항상 명확하지 않다는 것을 의미합니다. 프로그래머가 이 개체를 만들고 자신이 하는 일을 알고 있지만 OOP 언어는 다른 언어처럼 투명하지 않습니다.

성능

언어 지향 개체는 종종 심각한 타격을 받습니다. OOP 언어로 구축된 프로그램은 종종 기능 언어보다 더 크고 실행하는 데 더 많은 계산 노력이 필요합니다. 그러나 이것이 항상 사실이거나 중요한 것은 아닙니다. C++는 OOP 언어이지만 사용 가능한 가장 빠른 언어 중 하나입니다. 마찬가지로 속도가 항상 중요한 것은 아닙니다. 속도의 차이는 거대하거나 복잡한 계산을 처리하거나 극한의 속도가 필요한 경우에만 눈에 띄게 나타납니다.

이제 객체 지향 언어가 무엇인지, 어떤 용도로 사용되는지, 그리고 가장 인기 있는 언어입니다. 이 언어로 프로그래밍하는 것은 수익성만큼이나 재미있고 개발 경력도 얼마 남지 않았습니다.