부모에선 protected자식에선 public 으로 상속 받는 경우가 많음(부모에서 private이면 자식에서 상속해주지 못하기 때문에)- 가상함수(virtual function)의 필요성상속 받은 함수(부모)를 실행하지 않고 자신(자식)의 함수를 실행부모도 있고 자식도 있을 때 자식을 우선하는 것이 overridingoverriding : 가상함수 구현부모 클래스의 멤버함수와 같은 이름의 함수를 자식 클래스에서 재정의하여 사용자식 클래스에서 재정의되는 가상함수는 부모 클래스와 함수의 리턴값, 매개변수 개수, 형이 완전히 같아야 함overloading : 같은 이름의 함수가 매개변수에 따라 다르게 정의됨. 컴파일 타임에 결정.overriding : 기본 클래스의 가상 함수를 파생 클래스에서 재정의함. 런..
#include using std::cout;class A { // 기본 클래스, 부모 클래스 private: void a1() { cout ↓ 상속 추가#include using std::cout;class A { // 기본 클래스, 부모 클래스 private: void a1() { cout - 상속을 하게되면 부모의 public울 받아와 사용할 수 있다. #include // 표준 입출력 라이브러리 포함using std::cout; // cout을 std 네임스페이스에서 사용// 클래스 A 정의 - 기본 클래스(부모 클래스)class A { private: // private 멤버 함수 - 클래스 외부에서 접근 불가 void a1() { cout - 객체지향언어의의 특징 3가지캡슐화다형성상..
Chat gpt. 객체지향언어의 4가지 대표적인 특징을 알려줘캡슐화 (Encapsulation) : 데이터와 그 데이터를 처리하는 메서드를 하나의 단위로 묶어 외부에서 직접 접근하지 못하도록 보호하는 개념입니다. 이를 통해 데이터의 안전성을 높이고, 코드의 유지보수를 용이하게 합니다.상속 (Inheritance) : 기존 클래스(부모 클래스)의 속성과 메서드를 새로운 클래스(자식 클래스)가 물려받는 기능입니다. 이를 통해 코드의 재사용성을 높이고, 계층 구조를 만들 수 있습니다.다형성 (Polymorphism) : 동일한 인터페이스를 통해 서로 다른 클래스의 객체를 처리할 수 있는 능력입니다. 메서드 오버로딩과 메서드 오버라이딩을 통해 구현되며, 프로그램의 유연성을 증가시킵니다.추상화 (Abstracti..
Chat GPT . new연산자를 사용하는 언어를 설명해줘 1. C++ : 객체를 동적으로 생성할 때 사용됩니다.MyClass* obj = new MyClass();여기서 MyClass의 인스턴스가 동적으로 할당되고, obj 포인터가 그 주소를 가리킵니다. 사용이 끝난 후에는 delete 연산자를 사용하여 메모리를 해제해야 합니다.2. Java : 객체를 생성합니다. MyClass obj = new MyClass();Java에서는 가비지 컬렉터가 메모리를 자동으로 관리하므로, 명시적으로 메모리를 해제할 필요는 없습니다.3. C# : C#에서도 Java와 유사하게 new 키워드를 사용합니다.MyClass obj = new MyClass();C# 역시 가비지 컬렉션을 사용하여 메모리를 자동으로 관리합니다.4..