>  기사  >  객체지향의 특징은 무엇인가

객체지향의 특징은 무엇인가

青灯夜游
青灯夜游원래의
2019-06-03 14:45:23182819검색

객체 지향의 특징은 다음과 같습니다. 1. 현실 세계에서 특정 유형의 사물을 추출하여 이를 프로그램 코드로 표현하는 "추상화" 2. 프로세스와 데이터를 둘러싸고 데이터에 액세스하는 "캡슐화" 정의된 인터페이스를 전달하는 능력 3. 클래스를 연결하는 계층적 모델인 "상속" 4. 다양한 유형의 객체가 동일한 메시지에 응답할 수 있도록 하는 "다형성".

객체지향의 특징은 무엇인가

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

객체지향은 현실세계를 이해하고 추상화하는 방법으로 컴퓨터 프로그래밍 기술이 어느 단계까지 발전한 산물입니다. 주요 특징

1. Abstract

주제에서 현재 목표와 관련 없는 내용은 무시하고, 현재 목표와 관련된 측면에 집중하세요. (현실 세계에서 어떤 종류의 것을 추출해 프로그램 코드로 표현한다는 뜻이다. 추상화된 것을 일반적으로 클래스나 인터페이스라고 부른다.) 추상화는 문제 전체를 이해하려는 것이 아니라, 일부를 선택하고 당분간 일부 세부 사항을 생략하는 것입니다. 추상화에는 두 가지 측면이 포함됩니다. 하나는 데이터 추상화이고 다른 하나는 프로세스 추상화입니다.

데이터 추상화 --> 객체의 속성인 세상에 있는 사물 유형의 특성을 나타냅니다. 예를 들어 새에는 날개, 깃털 등이 있습니다. (클래스 속성)

절차적 추상화 --> 세상에서 어떤 유형의 동작을 나타내는 것이 객체의 동작입니다. 예를 들어 새는 날고 노래할 수 있습니다(클래스 메소드)

2. 캡슐화

캡슐화는 객체지향의 특징 중 하나이며 객체 및 클래스 개념의 주요 특징입니다. 캡슐화는 프로세스와 데이터를 둘러싸는 것이며 데이터에 대한 접근은 정의된 인터페이스를 통해서만 가능합니다. 예를 들어, 개인 변수는 set 및 get 메소드를 사용하여 얻을 수 있습니다.

캡슐화는 모듈의 독립성을 향상시켜 프로그램 유지 관리 및 수정을 더 쉽게 만듭니다. 애플리케이션 수정은 클래스 내부로 제한되므로 애플리케이션 수정으로 인한 영향이 최소화됩니다.

3. 상속

클래스를 연결하고, 클래스 재사용을 허용 및 장려하며, 공통점을 명확하게 표현하는 방법을 제공하는 계층적 모델입니다. 객체의 새로운 클래스는 기존 클래스에서 파생될 수 있으며, 이를 클래스 상속이라고 합니다. 새 클래스는 원본 클래스의 특성을 상속받습니다. 새 클래스를 원본 클래스의 파생 클래스(하위 클래스)라고 하고, 원본 클래스를 새 클래스의 기본 클래스(부모 클래스)라고 합니다. 파생 클래스는 상위 클래스로부터 메서드와 인스턴스 변수를 상속받을 수 있으며 클래스는 특별한 요구 사항에 더 적합하도록 새 메서드를 수정하거나 추가할 수 있습니다. 따라서 상속은 부모 클래스 코드를 재사용하고 다형성에 대비하는 것이라고 할 수 있다.

4. 다형성

다형성은 서로 다른 유형의 개체가 동일한 메시지에 응답하도록 허용하는 것을 의미합니다. 다형성에는 매개변수화된 다형성과 포함 다형성이 포함됩니다. 다형성 언어는 유연성/추상화/행위 공유/코드 공유의 장점을 가지며, 동일한 이름을 갖는 응용 기능의 문제를 잘 해결할 수 있습니다. 일반적으로 메서드 재정의, 오버로딩 및 동적 연결은 다형성을 구성합니다. Java가 다형성 개념을 도입한 이유 중 하나는 클래스의 단일 상속으로 인해 발생하는 기능적 결함을 보완하기 위해서입니다.

동적 링크 --> 상위 클래스에 정의된 메서드의 경우 해당 메서드가 하위 클래스에서 재정의되면 상위 클래스 유형의 참조가 하위 클래스의 메서드, 즉 동적 연결을 호출합니다.

객체 지향 프로그래밍에는 많은 장점이 있습니다.

1. 짧은 개발 시간, 높은 효율성, 높은 신뢰성 및 개발된 프로그램이 더 강력합니다. 객체 지향 프로그래밍의 재사용성으로 인해 성숙한 클래스 라이브러리는 애플리케이션에서 널리 사용될 수 있으므로 개발 시간이 단축됩니다. 2. 애플리케이션 유지 관리, 업데이트 및 업그레이드가 더 쉬워졌습니다. 상속과 캡슐화는 애플리케이션 수정의 영향을 더욱 지역화합니다.

(컴퓨터 프로그래밍과 관련된 기초 지식이 필요하신 분은

프로그래밍 학습

채널을 참고해주세요)

위 내용은 객체지향의 특징은 무엇인가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.