객체 지향 프로그래밍(OOP)은데이터와 코드를 포함할 수 있는"객체"개념을 기반으로 하는 프로그래밍 패러다임입니다. 필드 형태의 데이터(종종 속성 또는 속성이라고 함) 및 프로 시저 형태의 코드 (종종 방법으로 알려져 있음).
객체의 특징은 객체의 자체 프로 시저가 자신의 데이터 필드에 액세스하고 종종 수정할 수 있다는 것입니다 (객체는 this또는 개념이 있음 self). OOP에서 컴퓨터 프로그램은 서로 상호 작용하는 개체로 만들어 설계되었습니다. OOP 언어는 다양하지만 가장 많이 사용되는 언어는 클래스 기반입니다. 즉, 객체는 클래스의 인스턴스이며 유형 도 결정합니다.
(예 : C ++, 자바, 파이썬 등) 가장 널리 사용되는 프로그래밍 언어의 대부분은 멀티 패러다임 그들은 일반적 와 함께, 크거나 작은 정도의 객체 지향 프로그래밍을 지원하는 필수 , 절차 적 프로그래밍. 중요한 객체 지향 언어에는 다음이 포함됩니다. ( TIOBE 인덱스 기반 목록 순서 ) Java , C ++ , C # , Python , R , PHP , Visual Basic.NET , JavaScript , Ruby , Perl , Object Pascal , Objective-C , Dart , Swift , Scala , Kotlin , Common Lisp , MATLAB 및 Smalltalk.
객체 지향 프로그래밍 기능
객체 지향 프로그래밍은 객체를 사용하지만 모든 관련 기술 및 구조가 OOP를 지원한다고 주장하는 언어에서 직접 지원되는 것은 아닙니다. 아래에 나열된 기능은 강력한 클래스 및 객체 지향 (또는 OOP 지원이 있는 다중 패러다임)으로 간주되는 언어 간에 공통적이며 , 주목할만한 예외가 언급되어 있습니다.
참조 : 프로그래밍 언어 비교 (객체 지향 프로그래밍) 및 객체 지향 프로그래밍 용어 목록
비 OOP 언어와 공유됨
정수 및 영숫자 문자와 같은 소수의 내장 데이터 유형으로 형식화된 정보를 저장할 수 있는 변수입니다. 여기에는 내장형이거나 메모리 포인터를 사용하여 변수를 결합한 결과 인 문자열 , 목록 및 해시 테이블과 같은 데이터 구조 가 포함될 수 있습니다.
프로 시저 (함수, 메서드, 루틴 또는 서브 루틴이라고도 함)는 입력을 받고 출력을 생성하며 데이터를 조작합니다. 현대 언어에는 루프 및 조건문과 같은 구조화된 프로그래밍 구조가 포함됩니다.
모듈 식 프로그래밍 지원은 조직화를 위해 프로 시저를 파일과 모듈로 그룹화하는 기능을 제공합니다. 모듈은 네임 스페이스가 지정되므로 한 모듈의 식별자가 다른 파일 또는 모듈에서 동일한 이름을 공유하는 프로 시저 또는 변수와 충돌하지 않습니다.
객체 지향 프로그래밍 개체 및 클래스
객체 지향 프로그래밍 (OOP)을 지원하는 언어는 일반적으로 클래스 또는 프로토 타입 형태의 코드 재사용 및 확장 성을 위해 상속을 사용합니다. 클래스를 사용하는 사람들은 두 가지 주요 개념을 지원합니다.
클래스 – 주어진 유형 또는 객체 클래스에 대한 데이터 형식 및 사용 가능한 절차에 대한 정의 또한 데이터 및 프로 시저 (클래스 메서드라고 함) 자체를 포함할 수 있습니다. 즉, 클래스에는 데이터 멤버와 멤버 함수가 포함됩니다.
객체 – 클래스의 인스턴스
객체는 때때로 실제 세계에서 발견되는 것과 일치합니다. 예를 들어, 그래픽 프로그램에는 "원", "사각형", "메뉴"와 같은 개체가 있을 수 있습니다. 온라인 쇼핑 시스템에는 "장바구니", "고객"및 "제품"과 같은 개체가있을 수 있습니다. 때때로 객체는 열린 파일을 나타내는 객체 또는 미국 관습에서 미터법으로 측정을 변환하는 서비스를 제공하는 객체와 같이 더 추상적인 엔티티를 나타냅니다.
'좋은글' 카테고리의 다른 글
확증편향이 무엇인지 알아보자 [ 생각에 관한 생각 ] (0) | 2023.03.03 |
---|---|
대니얼 카너먼, 생각에 관한 생각 [ 시스템1 의 정의 ] (0) | 2023.03.02 |
리눅스 커널 , Linux Cunnel 의 장점을 알아보자 !! (0) | 2021.05.11 |
XML 이란 무엇인가?? [ 확장마크업 언어 , XML의 장점은 ?? ] (0) | 2021.05.11 |
JDBC , Java Database Connectivity [ JDBC란 무엇인가 ? ] (0) | 2021.05.11 |
댓글