-
2024.03.07 - 연산자 오버로딩C# 2024. 3. 11. 05:38
- 오버로딩(Overloading)
하나의 메서드를 여러가지로 구현하는 것을 말한다. 같은 메서드 이름으로 다른 타입/개수의 매개 변수를 사용하는 메서드를 정의함으로서 메서드 오버로딩을 할 수 있다.
메서드 오버로딩을 활용하지 않은 예시. 오버로딩을 활용하지 않으면 비슷한 동작을 하는 메서드의 이름을 일일히 다른 이름으로 바꿔주어야 할 것이다.
메서드 오버로딩을 활용한 예시. 오버로딩을 활용하면 메서드 이름을 새로 지을 필요도 없고, 코드를 일관성있게 유지해 줄 수 있다.
- 연산자 오버로딩(Operator Overloading)
연산자(+, -, *, /, ...)를 재정의 하여 사용자가 원하는 방식으로 작동하도록 할 수 있다.
연산자를 오버로딩 할 때는 다음과 같은 규칙을 지켜야 한다.
- public, static 한정자를 모두 포함해야 한다.
- 하나 이상의 매개변수를 가져야 한다.
연산자 오버로딩을 이용해서 클래스나 구조체를 연산하여 새로운 클래스나 구조체를 생성하게 연산자를 재정의할 수 있다. 다음은 int x, y를 멤버로 가진 구조체를 서로 더해서 새로운 x, y를 가지는 구조체를 만들거나, 각 x, y에 -1을 곱한 새로운 구조체를 만드는 연산자를 재정의 하는 예제이다.
'C#' 카테고리의 다른 글
2024.03.11 - 대리자(Delegate) (0) 2024.03.11 2024.03.08 - 일반화(Generic), 형식 매개변수 제약(where T :) (0) 2024.03.11 2024.03.07 - string, StringBuilder (0) 2024.03.08 2024.03.07 - 함수를 지원하는 여러가지 키워드 (0) 2024.03.08 2024.03.06 - 인터페이스(interface) (0) 2024.03.08