no image
[C++] protected 접근 지정
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com Protected 접근 지정 C++의 멤버에 대한 접근 지정자는 private, public, protected 3가지가 존재하며, 이 중에 반드시 하나로 지정되어야 한다. 이번 글에서는 protected에 집중하여 알아보자. 우선 멤버의 접근 지정에 따라 접근 가능 여부를 나타내었다. private 멤버 protected 멤버 public 멤버 멤버를 선언한 클래스 O O O ..
2023.12.14
no image
[C++] 상속과 객체 포인터
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 파생 클래스는 상속을 통해 기본 클래스를 확장하는데 파생 클래스의 객체에는 기본 클래스에서 선언된 멤버들과 파생 클래스에서 선언한 멤버들이 모두 존재하기 때문에, 파생 클래스 객체를 파생 클래스의 포인터나 기본 클래스의 포인터로 모두 가리킬 수 있다. 업 캐스팅 업 캐스팅(up-casting)이란 파생 클래스의 객체를 기본 클래스의 포인터로 가리키는 것 즉, 파생 클래스의 객체를..
2023.12.14
no image
[C++] 상속
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 상속(Inheritance) 객체 지향 언어의 본질적 특성으로 sw의 재사용을 가능하게 하며, 동적 바인딩을 통해 객체 지향 프로그래밍의 묘미를 그대로 살리는 매우 중요한 기능이다. C++ 클래스 상속 C++에서는 두 클래스(class) 사이에 부모 - 자식의 상속 관계를 선언하며 상속은 자식 클래스의 객체가 생성될 때, 자신의 멤버뿐 아니라 부모 클래스의 멤버를 포함할 것을 지..
2023.12.06
no image
[C++] 단항 연산자 중복과 프렌드로 구현하기
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 단항 연산자 단항 연산자(unary operator)란 앞에서 본 이항 연산자와는 다르게 피연산자가 하나이다. 위치에 따라 전위 연산자(prefix operator)와 후위 연산자(postfix operator)로 나뉜다. 전위 연산자 : !op, ~op, ++op, --op .... 후위 연산자 : op++, op-- .... 전위 ++ 연산자 중복 #include using ..
2023.12.06
no image
[C++] 연산자 중복
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 연산자 중복 +기호를 사용하여 숫자 더하기, 문자 더하기 등 다양한 행위를 할 수 있는데, 동일한 연산 혹은 기호(+)를 대상(피연산자)에 따라 서로 다르 의미로 해석하는 일종의 다형성(polymorphism)이다. C++에서도 같은 이름의 함수를 여러 개 만들 수 있는 것이 함수 중복(function overloading)이라면, 피연산자에 따라 서로 다른 연산을 하도록 동일한..
2023.12.06
no image
[C++] 프렌드
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 프렌드 클래스 내에 friend 키워드로 선언된 외부 함수를 프렌드 함수(friend function)라고 부르며, 마치 클래스의 멤버인것처럼 클래스의 모든 변수나 함수에 접근 가능하지만 ! 실질적 멤버가 아니므로 상속되지는 않는다. 필요성 & 선언 클래스 멤버 함수로는 적합하지 않지만 private, protected 멤버를 접근해야 하는 특별한 경우, 이 함수를 외부 함수로 ..
2023.12.05
no image
[C++] static 멤버
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com static static은 변수와 함수의 생명 주기(life cycle)와 사용 범위(scope)를 지정하는 방식(storage class) 중 하나 생명 주기 프로그램이 시작할 때 생성되고 프로그램이 종료할 때 소멸 사용 범위 변수나 함수가 선언된 범위 내에서 사용. 전역(global) 혹은 지역(local)로 구분 C++에서 클래스 멤버 변수와 멤버 함수를 포함하여 모든 변수..
2023.12.05
no image
[C++] 함수 중복
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 함수 중복 C++에서는 C와 달리 같은 이름의 함수를 여러 개 만들 수 있으며 이것을 함수 중복(function overloading)이라고 부른다. OOP 특징인 다형성의 한 예시로서 전역 함수와 멤버 함수에 모두 적용 기본 클래스와 파생 클래스 사이에도 허용 중복 함수 조건 중복된 함수들의 이름이 동일하여야 한다. 중복된 함수들은 매개 변수 타입이나 매개 변수의 개수가 달라야..
2023.12.04
no image
[C++] 복사 생성자
황기태 저자의 명품 C++ Programming 개정판을 읽고 학습한 내용을 정리한 포스트입니다! https://search.shopping.naver.com/book/catalog/32436115747 C++ Programming : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 얕은 복사와 깊은 복사 복사에는 얕은 복사(shallow copy)와 깊은 복사(deep copy)로 구분할 수 있다. 아래 그림을 통해 예시를 살펴보자. 얕은 복사의 경우 어린이만 복사하기에, 복사 후 서로 자기 것이라고 주장하는 충돌이 발생한다. 반면, 깊은 복사는 원본이 소유한 모든 것까지 복사하기에 충돌은 발생하지 않는다. 얕은 복사 객체 복사 시, 객체의 멤버를 1:1로..
2023.12.04