[C++] 오버라이드와 오버로드

2023. 2. 7. 17:54·C++/C++

◆오버로드

▷동일한 이름을 갖고 있지만 다른 동작을 하게 만드는것

▷함수 오버로드를 통해 이름은 같지만 파라미터(인수)를 다르게 줌으로 서로 다른 동작을 시킬 수 있다.

▷클래스 생성자 또한 오버로딩이 가능하다.

//함수 오버로딩의 예
int sum(int a, int b){
	return a+b;
}
int sum(int a, int b, int c){
	return a+b+c;
}

◆연산자에서의 오버로딩

▷연산자 오버로딩을 통해 동적 클래스가 아닌 Stack 기반 클래스 인스턴스에 동작하는 연산자를 오버로딩 할 수 있다.

//벡터 끼리의 합 연산자 오버로딩
Vector operater+(Vector& v1, Vector& v2){
	return Vector(v1.x + v2.x , v1.y + v2.y);
}

◆오버라이딩(Overriding)

▷부모 클래스의 함수의 정의를 자식 클래스에서 새로 덮어쓰는 것을 의미한다.

 

 

※클래스 내부의 변수를 this->로 하지만 밖에서는 객체.변수 이름으로 해도 되는것을 알았다.

#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <cstring>

class Vector3{
public:
    float x,y,z;
    Vector3(int x, int y, int z){
    	//같은 이름이라 this를 사용
        this->x=x;
        this->y=y;
        this->z=z;
    }
};

int main(){
    Vector3 v=Vector3(10,20,30);
    //접근시에는 .을 이용하여 접근
    v.x=30;
    
}

'C++ > C++' 카테고리의 다른 글

[C++] 여러개의 헤더와 소스  (0) 2023.02.13
[C++] 열거형  (0) 2023.02.08
[C++] 가상함수  (0) 2023.02.07
[C++] 클래스 상속 / 접근지정자  (0) 2023.02.03
[C++] 클래스 멤버 / 생성자 / 소멸자  (0) 2023.01.27
'C++/C++' 카테고리의 다른 글
  • [C++] 열거형
  • [C++] 가상함수
  • [C++] 클래스 상속 / 접근지정자
  • [C++] 클래스 멤버 / 생성자 / 소멸자
메카인
메카인
  • 메카인
    메카인의 지식창고
    메카인
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 코딩 공부
        • TIL(Today I Learn)
        • TIL
        • 백준(C++)
        • Python
        • 알고리즘
        • 프로젝트 회고
      • C++
        • C++
        • C++ STL
        • C,C++ mCoding yotube
      • 게임개발
        • 언데드서바이벌_골드메탈_클론코딩
        • 3D_골드메탈_클론코딩
        • 유니티_문제해결
        • 게임 수학
      • Unreal 공부
        • UE5 GameDev
        • Unreal Engine 4 C++ The Ult..
      • 교재 문제 풀이
        • 운영체제
      • 정보처리기사
        • 정처기 요약
        • 정처기 오답노트
      • 학교수업
        • 데이터베이스
        • 프로그래밍 언어론
        • 리눅스 시스템
        • 네트워크
      • 일상
        • 주식
        • 독서
      • (비공개 전용)
        • memory
        • Build
        • OOP
        • Smart Pointer
        • lamda
        • 게임 수학
        • 모던 C++
        • 모던 C++ STL
        • 모던 C++ Concurrency, Paralle..
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 글쓰기
    • 블로그 관리
  • 링크

  • 공지사항

    • 공지사항 - 인생과 블로그의 목표
  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
메카인
[C++] 오버라이드와 오버로드
상단으로

티스토리툴바