01. 추상화와 캡슐화
접근 지정자 | 설명 |
---|---|
private | 클래스 내의 멤버 함수에서만 접근 가능 |
public | 다른 클래스 어디서든 접근 가능 |
protected | 클래스 내의 멤버 함수나 상속 관계의 클래스에서 접근 가능 |
클래스 다이어그램에서 멤버 앞에 - 기호는 private 멤버를 의미
+ 기호는 public 멤버를 의미
출력 결과, main 함수에서의 첫 줄인 bank my_bank;는 인스턴스를 생성하는 코드이다.
main 함수에서 첫 줄에 있는 bank my_bank 코드는 bank 클래스를 사용할 수 있는 인스턴스를 1개 만들어 my_bank라는 이름을 붙인 것이다.
따라서 이후 코드에서 my_bank라는 이름으로 bank 클래스의 멤버 함수인 use_counter을 호출할 수 있다.
다음과 같이, 문법 오류가 발생한다 : bank 클래스의 safe 멤버 변수가 private 접근 지정자로 선언되었다. private 접근 지정자에는 엑세스 불가.
02. 상속성과 다형성
상속성이란 무엇일까?
다형성이란 무엇일까?
함수 재정의하기 - 오버라이딩
OOP에서 다형성을 구현하려면 함수의 overriding을 이용해야 한다.
오버라이딩과 오버로딩
03. 생성자와 소멸자
이번에는 객체를 생성하고 소멸할 때 추가 작업을 할 수 있는 생성자와 소멸자를 알아보겠다.
생성자와 소멸자는 객체를 생성하고 소멸할 때 강제로 호출하게 해서 실수를 방지하거나 다른 개발자가 사용할 때도 반드시 처리해야 할 일들을 알 수 있게 한다.
생성자 [Practice 06-03-01]
**생성자 선언 방법**
해당 클래스_이름() {
// 실행 코드
}
출력 결과
상속 클래스의 생성자 호출 순서 [Practice 06-03-02]
출력 결과, 세 개의 클래스 모두 실행됨을 확인가능하고, 부모 클래스인 character, monster의 생성자가 실행된 후 상속 받은 자식 클래스인 monster_a의 생성자가 출력 되는 것을 확인 가능하다.