본문 바로가기

반응형

상속

(5)
[문과 코린이의 IT 기록장] C# 기초 예시 - 오버라이딩과 오버로딩 0. C# _ 오버라이딩, 오버로딩에 관해서 - 오버라이딩(Overriding) [ 상속 ] : 부모 클래스의 메소드를 자식 클래스에서 재정의 하여 사용함. : 부모 클래스에서는 virtual을 설정하고, 자식 클래스에서는 override로 정의함. - 오버로딩(Overloading) [ 메소드 ] : 동일한 이름의 메소드를 인자(매개변수)의 개수나 형식을 다르게 해서 여러개 생성 : 동일 목적의 메소드를 여러 방법으로 정의할 때 사용 [ 이 예시의, 상속 구조 ] 1. UI부분 // 지난주랑 UI부분은 같음. 상속 구현이 달라짐 2. 코드 부분 2-1 ) CBase 클래스 using System; using System.Collections.Generic; using System.Drawing; // ..
[문과 코린이의 IT 기록장] C,C++ - 상속과 다형성 1 : 객체 포인터의 참조관계 (객체 포인터 변수 : 객체의 주소 값을 저장하는 포인터 변수, OrangeMedia 급여관리 확장성 문제의 1차적 해결과 함수 .. [문과 코린이의 IT 기록장] C,C++ - 상속과 다형성 1 : 객체 포인터의 참조관계 (객체 포인터 변수 : 객체의 주소 값을 저장하는 포인터 변수, OrangeMedia 급여관리 확장성 문제의 1차적 해결과 함수 오버라이딩) 1. 객체 포인터 변수 : 객체의 주소 값을 저장하는 포인터 변수 1) 객체 포인터 변수 이해 - 포인터 변수는 클래스를 기반으로도 작성될 수 있다. ex) Person : 클래스 이름 Person * ptr; // 포인터 변수 선언 ptr = new Person(); // 포인터 변수의 객체 참조 ( 위 문장이 실행되면, 포인터 변수 ptr은 Person 객체를 가리키게 된다. ) [ 여기서 꼭 알아야할 점 ] - Person형 포인터는 Person 객체뿐만 아니라, Pers..
[문과 코린이의 IT 기록장] C,C++ - 상속 2 (protected로 선언된 맴버가 허용하는 접근의 범위, 3가지 형태의 상속, 상속을 위한 조건) [문과 코린이의 IT 기록장] C,C++ - 상속 2 (protected로 선언된 맴버가 허용하는 접근의 범위, 3가지 형태의 상속, 상속을 위한 조건) 1. protected로 선언된 맴버가 허용하는 접근의 범위 - C++의 접근 제어 지시자 (허용범위 좁음) private < protected < public (허용범위 넓음) ex ) class A{ private : // 클래스 내부에서 접근 가능 int num1; protected : // 클래스 내부에서 접근 가능 int num2; public : int num3; void ShowData(){ cout
[문과 코린이의 IT 기록장] C,C++ - 상속 1 (상속 공부 접근 방법, 문제의 제시, 상속의 문법적인 이해, 유도 클래스 객체 생성과정, 유도 클래스 객체의 소멸과정) [문과 코린이의 IT 기록장] C,C++ - 상속 1 (상속 공부 접근 방법, 문제의 제시, 상속의 문법적인 이해, 유도 클래스 객체 생성과정, 유도 클래스 객체의 소멸과정) [ 상속 공부 접근 방법 ] a. 문제의 제시 : 상속과 더불어 다형성의 개념을 적용해야만 해결 가능한 문제를 먼저 제시한다,. b. 기본개념 소개 : 상속의 문법적 요소를 하나씩 소개해 나간다. c. 문제의 해결 : 처음 제시한 문제를, 상속을 적용해 해결해 나간다. ex ) OrangeMedia라는 회사가 운영하는 '급여관리 시스템' - 이 회사에서는 기존에는 정규직(ermanent) 하나의 근무형태만 존재했음. #include using namespace std; class PermanentWorker { // 정규직 클래스 ..
[문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 3 : 대입연산자 (대입연산자, 디폴트 대입 연산자의 문제점, 상속 구조에서의 대입 연산자 호출, 이니셜라이저) [문과 코린이의 IT 기록장] C,C++ - 연산자 오버로딩 3 : 대입연산자 (대입연산자, 디폴트 대입 연산자의 문제점, 상속 구조에서의 대입 연산자 호출, 이니셜라이저) 1. 대입연산자 1) 대입 연산자 오버로딩은, 복사 생성자와 매우 유사하다. [ 디폴트 대입 연산자 ] - 정의하지 않으면 디폴트 대입 연산자가 삽입된다. - 디폴트 대입 연산자는 맴버 대 맴버의 복사(얕은 복사)를 진행한다. - 연산자 내에서 동적 할당을 한다면, 그리고 깊은 복사가 필요하다면 직접 정의해야 한다. 2) 복사생성자 vs 대입연산자 : 호출되는 시점에서 차이가 존재한다. a. 복사생성자 호출 상황 int main(){ Point pos1(5,7); Point pos2 = pos1; // 새로 생성하는 객체 pos2의 ..

반응형