1. 클래스 형 변환 규칙 2. 가상 함수 3. 추상 클래스와 인터페이스 상속 클래스 형 변환이란 어떤 개념인가? 상속 관계에 놓은 클래스 간에만 가능하다. 파생 클래스에서 기본 클래스쪽으로 형 변환만 가능하다 is-a 관계가 성립하는 방향으로만 일어난다. 클래스 형 변환 규칙 파생 클래스의 객체는 기본 클래스의 객체로 형 변환 가능 파생 클래스의 포인터는 기본 클래스의 포인터로 형 변환 가능 파생 클래스의 레퍼런스는 기본 클래스의 레퍼런스로 형 변환 가능 파생 클래스의 기본 클래스로 형 변환 경우 1. is - a 관계가 성립하는 쪽으로의 형 변환 2. 파생 클래스 포인터를 기본 클래스 포인터로 형 변환 3. 가상 함수 기본 클래스 포인터로 호출하더라도 파생 클래스에 재정의된 함수를 호출하도록 만들려면..
3 - 2학기/객체 지향 프로그래밍

이번에 배울 개념은 상속이라는 개념이다. 상속은 상당히 많이 쓰이는 개념이기 때문에 꼭 머리속에 담아두고 가자. 다음과 같은 목차로 포스팅이 이뤄진다. 1. 상속 개념 2. 파생 클래스 정의 및 객체 생성 방법 3. 파생 클래스의 생성자와 소멸자 4. 접근 지정자와 접근 변경자 5. 다중 상속 1. 상속 개념 : 기존의 클래스가 가진 기능을 이어 받아 새로운 클래스를 정의하는 것을 의미한다. 부모(기본) 클래스 -> 자식(파생) 클래스 인 경우, 부모 클래스의 특징을 자식 클래스가 이어 받는다. * is - a 관계 상속 관계에 있는 두 클래스 사이에는 is - a 관계가 성립한다. 장점 - 간결한 클래스 작성, 파생 클래스를 간결하게 작성 가능하다. - 계층 분류 및 관리가 편하다. - 클래스 재사용,..

이번 시간에는 멤버함수와 클래스를 어떻게 활용할 것인지에 대해서 정리하는 시간을 가질 것이다. 정적 멤버 (static, non static)는 무엇인가? - 변수와 함수에 대한 기억 부류의 한 종류 생명 주기: 프로그램이 시작될 때 생성, 프로그램 종료 시 소멸 사용 범위: 선언된 범위, 접근 지정에 따름 static 멤버 - 프로그램이 시작할 때 생성, - 클래스 당 하나만 생성, 클래스 멤버라고 불림 - 클래스의 모든 인스턴스들이 공유하는 멤버 - 객체가 사라져도 여전히 존재 - 동일한 클래스의 모든 객체들에 의해 공유된다. non-staitc 멤버 - 객체가 생성될 때 함께 생성 - 객체마다 객체 내에 생성 - 인스턴스 멤버라고 불림 - 객체와 생명을 같이함 - 공유되지 않는다, 객체 별로 따로 ..

이번시간에는 생성자와 소멸자에 대해서 정리할 것이다. 생성자와 소멸자는 꽤나 중요하게 다루는 개념이기 때문에 꼭 기억하면서 넘어가자. 객체가 생성되고 소멸될 때, 자동으로 호출되는 것이 생성자와 소멸자이다. 1. 객체의 메모리 할당 2. 생성자 호출 3. 객체 사용 4. 소멸자 호출 5. 객체의 메모리 해제 위와 같은 순서로 객체가 생성되고 소멸된다. 특징 - 생성자와 소멸자는 객체가 생성, 소멸되는 시점에서 자동으로 호출되는 멤버함수이다. - 생성자를 사용하는 이유는 객체에 필요한 초기화를 위해 사용하고 소멸자는 객체를 정리하기 위해 사용한다(메모리 해제와 같은) - 생성자와 소멸자는 리턴 값이 없다. - 생성자는 딱 한번만 호출한다. - 생성자는 중복이 가능하다(오버로딩). 한 클래스에 여러개가 정의..

이번 시간에는 클래스를 기본적으로 사용하기 위해서 필요한 기초적인 개념들을 구체적으로 정리할 것이다. 목차는 다음과 같다. 1. 접근지정자 2. 접근자함수 3. friend 함수 및 friend 클래스 4. 멤버 함수의 this 포인터 5. 분할 컴파일 1. 접근 지정자 접근 지정자를 왜 사용하는 것인가? 객체를 보호하기 위해서 사용한다. 객체의 캡슐화 특징이 여기에서 나타난다. - 객체의 상태를 나타내는 데이터 멤버에 대한 보호 - 중요한 멤버는 다른 클래스, 객체에서 접근 못하게 보호 - 외부 인터페이스를 위해 일부만 접근 허용 접근 지정자의 종류는 3가지가 있다. 이를 쉽게 나타낸 그림이 다음과 같다. 접근 권한 설정의 범위로는 클래스 정의 안에서 접근 지정자를 지정하면 새로운 접근 지정자가 나타날..