
코드 재사용성 증가:
공통된 인터페이스를 통해 다양한 객체를 다룰 수 있어 코드 중복을 줄이고 재사용성을 높입니다
유연성 및 확장성:
새로운 클래스를 추가하더라도 기존 코드를 수정할 필요 없이 기능을 확장할 수 있습니다
오버라이드(Override):
상속 관계에서 자식 클래스가 부모 클래스에 정의된 메서드를 자신의 필요에 맞게 재정의하는 것
메서드 이름, 매개변수 목록(타입, 개수, 순서), 반환 타입이 부모 클래스의 메서드와 정확히 일치해야 합니다.
오버로드(Overload):
하나의 클래스 내에서 동일한 이름의 메서드를 여러 개 정의하는 것을 의미합니다.
메서드 이름은 같지만, 매개변수의 개수, 타입, 또는 순서 중 적어도 하나는 달라야 합니다.
확장 메서드(Extension Method):
기존 클래스의 소스 코드를 수정하지 않고도 해당 클래스에 새로운 메서드를 추가하는 것처럼 사용할 수 있게 해주는 기능
콜백(Callback):
다른 코드의 실행이 완료된 후 호출될 함수 또는 메서드를 의미합니다.
즉, 어떤 함수의 인자로 다른 함수를 전달하고, 첫 번째 함수가 특정 시점에 이 전달받은 함수를 호출하는 방식
델리게이트(Delegate):
C#과 같은 언어에서 사용되는 개념으로, 메서드를 참조(reference)하는 타입 안전한 객체.
메서드의 서명(signature, 즉 반환 타입과 매개변수 목록)과 일치하는 모든 메서드를 참조할 수 있습니다.