C 언어
C++ 클래스는 데이터와 데이터를 조작하기 위한 메서드를 하나로 결합합니다. 클래스는 또한 객체의 형태를 결정합니다. 클래스에 포함된 데이터와 메서드를 클래스 멤버라고 합니다. 클래스는 사용자 정의 데이터 유형입니다. 클래스 멤버에 액세스하기 위해 클래스의 인스턴스를 사용합니다. 클래스를 개체에 대한 청사진으로 볼 수 있습니다.
클래스는 집의 프로토타입이 됩니다. 문, 창문, 바닥 등의 위치와 크기를 보여줍니다. 이러한 설명에서 집을 지을 수 있습니다. 집이 대상이 됩니다. 프로토타입으로 많은 집을 만들 수 있습니다. 또한 클래스에서 많은 개체를 생성하는 것도 가능합니다.
위의 그림에는 싱글 하우스 프로토타입이 있습니다. 이 프로토타입에서 다른 기능을 가진 두 개의 집을 만들었습니다.
이 자습서에서는 다음을 배우게 됩니다.
C+에서 클래스는 class 키워드를 사용하여 정의됩니다. 그 뒤에는 클래스 이름이 와야 합니다. 그런 다음 클래스 본문이 중괄호 { } 사이에 추가됩니다.
class class-name { // data // functions };
이 두 가지 키워드를 접했을 것입니다. 액세스 수정자입니다.
private 키워드를 사용하여 함수나 클래스를 정의하면 private가 됩니다. 이러한 항목은 클래스 내에서만 액세스할 수 있습니다.
반면에 public 키워드는 데이터/기능을 공개합니다. 수업 외부에서 액세스할 수 있습니다.
객체는 클래스에서 생성됩니다. 클래스 객체는 변수 선언과 유사한 방식으로 선언됩니다. 클래스 이름이 시작되어야 하고 그 뒤에 개체 이름이 와야 합니다. 클래스 유형의 개체입니다.
class-name object-name;
클래스에서 개체를 만드는 이 프로세스를 인스턴스화라고 합니다.
클래스의 공용 멤버에 액세스하려면 (.) 점 연산자를 사용합니다. public access modifier로 표시된 멤버입니다.
#include <iostream> using namespace std; class Phone { public: double cost; int slots; }; int main() { Phone Y6; Phone Y7; Y6.cost = 100.0; Y6.slots = 2; Y7.cost = 200.0; Y7.slots = 2; cout << "Cost of Huawei Y6 : " << Y6.cost << endl; cout << "Cost of Huawei Y7 : " << Y7.cost << endl; cout << "Number of card slots for Huawei Y6 : " << Y6.slots << endl; cout << "Number of card slots for Huawei Y7 : " << Y7.slots << endl; return 0; }
출력:
다음은 코드의 스크린샷입니다.
코드 설명 :
private으로 표시된 클래스 멤버는 클래스 내에 정의된 함수에서만 액세스할 수 있습니다. 클래스 외부에 정의된 개체 또는 함수는 이러한 멤버에 직접 액세스할 수 없습니다. private 클래스 멤버는 멤버 및 friend 함수에서만 액세스할 수 있습니다.
보호됨으로 표시된 클래스 구성원은 비공개로 표시된 클래스 구성원보다 이점이 있습니다. 정의 클래스 내의 함수에서 액세스할 수 있습니다. 또한 파생 클래스에서 액세스할 수 있습니다.
#include <iostream> using namespace std; class ClassA { public: void set_a(int val); int get_a(void); private: int a; }; int ClassA::get_a(void) { return a; } void ClassA::set_a(int val) { a = val; } int main() { ClassA a; a.set_a(20); cout << "Value of a is: " << a.get_a(); return 0; }
출력:
다음은 코드의 스크린샷입니다.
코드 설명:
#include <iostream> using namespace std; class ParentClass { protected: int value; }; class ChildClass : public ParentClass { public: void setId(int x) { value = x; } void displayValue() { cout << "Value is: " << value << endl; } }; int main() { ChildClass c; c.setId(21); c.displayValue(); return 0; }
출력:
다음은 코드의 스크린샷입니다.
코드 설명:
함수는 데이터를 조작하는 데 도움이 됩니다. 클래스 멤버 함수는 두 가지 방법으로 정의할 수 있습니다.
함수가 클래스 정의 외부에서 정의되어야 하는 경우 범위 확인 연산자(::)를 사용해야 합니다. 여기에는 클래스 및 함수 이름이 수반되어야 합니다.
#include <iostream> #include <string> using namespace std; class Guru99 { public: string tutorial_name; int id; void printname(); void printid() { cout << "Tutorial id is: "<< id; } }; void Guru99::printname() { cout << "Tutorial name is: " << tutorial_name; } int main() { Guru99 guru99; guru99.tutorial_name = "C++"; guru99.id = 1001; guru99.printname(); cout << endl; guru99.printid(); return 0; }
출력:
다음은 코드의 스크린샷입니다.
코드 설명:
구문은 객체를 초기화하는 특수 함수입니다. C++ 컴파일러는 객체를 생성할 때 생성자를 호출합니다. 생성자는 클래스 구성원에게 값을 할당하는 데 도움이 됩니다. 물론 이것은 메모리 공간이 할당된 후입니다.
반면 소멸자는 클래스 개체를 파괴하는 데 도움이 됩니다.
생성자 이름은 클래스 이름과 유사해야 합니다. 생성자에는 반환 유형이 없습니다.
생성자는 클래스 본문 내부 또는 외부에서 정의할 수 있습니다. 클래스 본문 외부에 정의된 경우 클래스 이름과 범위 확인 연산자(::)를 사용하여 정의해야 합니다.
#include <iostream> using namespace std; class ClassA { public: ClassA() { cout << "Class constructor called"<<endl; } ~ClassA() { cout << "Class destructor called"<<endl; } }; int main() { ClassA a; int p = 1; if (p) { ClassA b; } }
출력:
다음은 코드의 스크린샷입니다.
코드 설명:
C 언어
자바에서 추상화란 무엇입니까? JAVA의 추상화 필수 속성만 표시하고 사용자에게 개체의 불필요한 세부 정보를 숨깁니다. Java에서 추상화는 Abstract 클래스, Abstract 메서드 및 인터페이스를 사용하여 수행됩니다. 추상화는 프로그래밍 복잡성과 노력을 줄이는 데 도움이 됩니다. 이 튜토리얼에서는 배우게 될 것입니다- 추상 클래스란 무엇입니까? 추상 방법이란 무엇입니까? 추상화 코드 예 자바의 추상 클래스 자바의 최종 키워드 추상 클래스란 무엇입니까? 추상 클래스 하나 이상의 추상 메소드를 선언하는 Java의 클
Python의 OOP Python의 OOP 다른 일반 프로그래밍 언어와 동일하게 객체와 클래스를 사용하는 데 중점을 둔 프로그래밍 접근 방식입니다. 개체는 모든 실제 엔터티가 될 수 있습니다. Python을 사용하면 개발자가 코드 재사용성에 중점을 둔 OOP 접근 방식을 사용하여 애플리케이션을 개발할 수 있습니다. Python에서 클래스와 객체를 만드는 것은 매우 쉽습니다. 수업이란 무엇입니까? Python의 클래스는 데이터와 함수의 논리적 그룹입니다. 임의의 콘텐츠를 포함하고 따라서 쉽게 액세스할 수 있는 데이터 구조를 자유