C++이나 Java를 공부한 학생들은 객체지향 내용을 이해하고 있어야 합니다. 프로그래밍 언어는 일반적으로 객체지향 과 프로세스지향이라는 두 가지 설계 방식으로 나누어집니다. 초기 프로그래밍 언어는 대부분 프로세스 지향적이고 여러 가지로 구성되었습니다. Python은 객체 지향 언어로 설계되었으므로 Python은 객체 지향 프로그래밍 언어입니다. 이번 섹션에서는 먼저 객체지향 프로그래밍의 개념에 대해 알아봅니다.
먼저, 객체(object)의 영어 단어는 'Object'입니다. 우리 앞에는 컴퓨터도 있고, 손에 들고 있는 휴대폰도 있고, 책이 있는 곳도 있습니다. 책장은 모두 객체입니다. 객체는 실제 존재하는 객체입니다.
객체를 학습할 때 객체를 두 부분으로 생각할 수 있습니다. 한 부분은 속성 이라고 하고 다른 부분은 동작 이라고 합니다.
예를 들어, 알람시계를 구입했습니다. 알람시계의 재질은 그 속성이고, 알람시계가 울릴 때의 행동입니다.
우리가 이전에 연구한 데이터 유형은 모두 클래스에 속합니다. 클래스는 많은 메소드를 포함합니다. 클래스를 배울 때 클래스를 교실로 이해할 수 있다고 규정되어 있습니다. 교실은 중국어, 수학, 영어를 배워야 합니다. 학생이 이 수업에 참여하면 이 세 가지 과목을 배워야 합니다. 수업은 종종 우리의 정의를 전달하며 수업의 구성원은 동일한 특성과 행동을 갖습니다.
모든 자동차를 하나의 클래스로 생각할 수도 있고, 모든 비행기를 하나의 클래스로 생각할 수도 있습니다. 클래스는 비교적 추상적인 개념이므로 정의할 때 실제 상황에 맞게 정의해야 합니다.
객체 지향 프로그래밍에는 캡슐화, 상속 및 다형성이라는 세 가지 주요 특성이 있습니다.
패키징은 생활 속의 사례를 통해 배울 수 있습니다. 내부 구조와 사용 원리를 알아야 하기 때문에 이러한 구조는 상자 안에 들어 있고 일부 인터페이스는 우리가 연결할 수 있도록 상자 외부에 제공됩니다.
프로그램을 작성할 때 캡슐화 개념을 사용할 수도 있습니다. 일부 콘텐츠의 경우 이를 사용할 수 있는 인터페이스를 제공하지 않습니다. 이는 내부 구조이며 변경할 수 없는 콘텐츠입니다.
상속이라고 하면 누구나 일반적으로 상속을 떠올립니다. 상속을 설명하기 위해 상속을 사용한다면, 실제 생활에서의 상속은 대개 일대일인 경우 여러 사람이 상속을 받는 것입니다. 매우 클 수 있으며, 프로그램의 상속은 완전한 상속 관계입니다.
우리는 자동차를 하나의 객체로 생각할 수 있으며, 그것이 Mercedes-Benz, BMW, Volkswagen이든 관계없이 이러한 자동차는 자동차의 모든 속성과 동작을 상속받습니다. 우리는 자동차를 하나의 클래스로 간주하고 자동차에 대해 지상 주행 속성과 4개의 타이어를 정의합니다. 그러면 BMW가 이 클래스를 상속받게 되면 BMW 자동차는 지상 주행 속성과 4개의 타이어를 얻게 됩니다. 자동차 고속 주행 동작이 정의되면 BMW 자동차도 고속 주행 동작을 상속받습니다.
상속 관계를 사용할 때 자동차를 '슈퍼 클래스' 또는 '상위 클래스'라고 부르고, 상속받은 BMW 자동차를 '서브 클래스' 또는 '파생 클래스'라고 부릅니다.
다형성은 상위 클래스에 여러 속성이 있고 이러한 속성을 기반으로 여러 하위 클래스가 파생된다는 것을 의미합니다. 자동차를 예로 들어 보겠습니다. 하나는 도로 주행용이고 다른 하나는 주행용입니다. 그리고 이 두 가지 속성에는 모두 사람을 태울 수 있는 능력이 포함됩니다. 하위 클래스의 상속을 정의할 때 두 개의 하위 클래스를 정의할 수 있습니다. 하나는 사람을 태울 수 있지만 도로에서 운전하는 자동차이고, 다른 하나는 사람을 태울 수 있지만 트랙을 달리는 자동차입니다. 여러 하위 클래스가 공용 및 개인 속성을 갖는 방식을 다형성이라고 합니다.
클래스와 객체의 두 가지 개념은 프로그래밍을 배울 때 매우 중요합니다. 어떤 컴퓨터 산업에서든 클래스와 객체의 사용은 생활에서 더 많은 예를 사용하여 클래스와 객체가 무엇인지 생각해 봐야 합니다. 다음 섹션에서는 클래스의 정의와 사용법을 배우겠습니다.