C++, 9. 연산자 오버로딩

이도현·2023년 8월 9일
0

요약

  • 오버로딩: 같은 이름의 메서드 여러개를 가지면서 매개변수의 유형과 개수가 다르도록 하는 기술

오버라이딩: 상위클래스를 가지고 있느 메서드를 하위 클래스가 재정의해서 사용

  • 연산자오버로딩을 하는 이유: 연산자마다 다르지만 공통적으로 자신이 정의할 클래스르 기본 타입처럼 다루기 위해서이다. 또 다른 이유는 프로그램을 좀더 세밀하게 제어하기 위해서이다. 직접 정의한 클래스의 객체를 새로 만들어 분배하고 수거하는 과정을 원하는 방식으로 정의할 때 메모리 할당과 해제 연산자를 오버로딩 할 수 있다.

  • 연순자 오버로디의 수혜자는 클래스 사용자.

  • 복사생성자: 자신과 같은 클래스 타입의 다른 객체에 대한 참조를 인수로 전달받아, 그 참조를 가지고 자신을 초기화 하는 방법

  • 변환생성자: 기본 타입을 이용해서 객체를 생성하는 생성자.

  • 깊은 복사: '실제 값'을 새로운 메모리 공간에 복사하는 것을 의미

  • 얕은 복사: '주소 값'을 복사한다는 의미

  • initializer_list: 여러 인수를 받는 함수를 쉽게 작성해주게 하는 도구 원소 타입에 대한 리스트를 <>로 묶어서 저장


정리 1 산술 연산자 오버로딩~비교연산자 오버로딩

https://github.com/DoHyeonCP/Cpp_Study/blob/main/%EC%97%B0%EC%82%B0%EC%9E%90%20%EC%98%A4%EB%B2%84%EB%A1%9C%EB%94%A91.md

정리 2 증감연산자 오버로딩~이니셜라이즈 리스트

https://github.com/DoHyeonCP/Cpp_Study/blob/main/%EC%97%B0%EC%82%B0%EC%9E%90%EC%98%A4%EB%B2%84%EB%A1%9C%EB%94%A92.md

profile
좋은 지식 나누어요

0개의 댓글