All is well

[YYBASIC0104/얌얌코딩] 연산자 오버로딩 기본 본문

C++/YYBASIC

[YYBASIC0104/얌얌코딩] 연산자 오버로딩 기본

D0YUN 2025. 2. 3. 08:12

연산자 오버로딩 : 함수 이름 대신 여러가지 기호를 사용할 수 있다

  • 연산자 오버로딩을 이용하면 기호를 함수처럼 사용할 수 있습니다. 연산자 오버로딩은 다음과 같이 사용합니다.
  • [반환형] operator[사용할 기호](연산자 다음에 올 객체의 자료형)
    • ex) `Vector2 operator+(Vector2 other)`
  • 연산자 오버로딩은 왼쪽에 있는 객체를 기준으로 연산자 오버로딩된 함수를 호출하여 연산자 오른쪽에 있는 객체를 전달 인자(매개 변수)로 사용하여 함수처럼 작동합니다.
  • 연산자 오버로딩은 이미 라이브러리로 구현되어 있는 기능들이 많아 사용하는 경우는 많지 않습니다.

// 모든 기호를 오버로딩 할 수 있는 것은 아님 - 불가능한 연산자 빼고 다 가능

  • 연산자 오버로딩은 오버로딩 불가능한 연산자를 제외하고 전부 가능합니다. 다음은 연산자 오버로딩이 불가능한 연산자들입니다.
    • 스코프 연산자: `::`
    • 멤버 접근 연산자: `.`
    • 멤버 접근 포인터 연산자: `.*`
    • 삼항 조건 연산자: `?:`
    • 크기 연산자: `sizeof`
    • 타입 변환 연산자: `typeid`, `dynamic_cast`, `static_cast`, `reinterpret_cast`, `const_cast`

LV01 연산자 오버로딩(기본편)