본문 바로가기

상속3

[ C++ ] 예외처리 메커니즘( try, catch, throw ) 총 정리 우리에게 익숙한 예외처리는 if문을 이용한 예외처리이다. 하지만 if문을 보고 예외처리를 위한 코드인지 프로그램의 흐름을 구성하는 코드인지 쉽게 구분하지 못해서 가독성이 떨어진다. 하지만 C++의 예외처리 메커니즘을 이용하면 가독성을 높일 수 있다. C++은 구조적으로 예외를 처리할 수 있는 메커니즘을 제공한다. 가독성과 유지보수성을 높일 수 있을 뿐만 아니라, 예외의 처리를 프로그램의 일반적인 흐름에서 독립시키는 것이 가능하다. try try { // 예외발생 예상지역 } try 블록은 예외 발생에 대한 검사의 범위를 지정할 때 사용된다. 즉, try 블록 내에서 예외가 발생하면, C++의 예외처리 메커니즘에 의해서 처리가 된다. catch catch(처리할 예외의 종류 명시) { // 예외처리 코드의.. 2019. 12. 2.
[ C++ ] 클래스 상속을 위한 조건 ( IS-A, HAS-A ) 상속을 위한 조건은 두 가지가 있다. IS-A와 HAS-A IS-A 영어로 "is a"는 한글로 "일종의 ~이다."로 해석된다. 예로 들면 다음과 같다. 사과는 일종의 과일입니다. 바나나는 일종의 과일입니다. 리그 오브 레전드는 일종의 게임입니다. 오버워치는 일종의 게임입니다. 단팥빵은 일종의 빵입니다. 슈크림빵은 일종의 빵입니다. 영어로 표현하면 다음과 같다. 사과 is a 과일 바나나 is a 과일 리그 오브 레전드 is a 게임 오버워치 is a 게임 단팥빵 is a 빵 슈크림빵 is a 빵 즉, 사과와 바나나는 과일이라는 기초 클래스를 상속하는 유도 클래스가 되고 리그 오브 레전드와 오버워치는 게임이라는 기초 클래스를 상속하는 유도클래스, 단팥빵과 슈크림빵은 빵이라는 기초 클래스를 상속하는 유도 .. 2019. 9. 26.
[ C++ ] public 상속, protected 상속, private 상속 C++의 접근제어 지시자는 public, protected, private 세 가지가 있다. public < protected < private 로 public이 접근 범위가 가장 넓고, private가 가장 좁다. public 상속 public 상속은 private을 제외한 protected와 public은 그대로 상속한다. private는 상속하는 순간부터 접근이 불가능하기 때문이다. class A : public Parent { ... }; protected 상속 protected 상속은 protected보다 접근 범위가 넓은 멤버는 protected로 변경시켜서 상속한다. 그래서 public 멤버가 protected로 바뀌어서 상속된다. private는 동일하게 접근이 불가능하게 된다. class.. 2019. 9. 26.