by이란 무엇일까?

코틀린 레퍼런스 항목에 by는 인터페이스 구현을 다른 객체에 위임할때, 프로퍼티의 Accesseor 구현을 다른 객체에 위임 이라고 설명 되어 있습니다.

그럼 위임이란 무엇일까?

❖ 출처 제타위키

왜 사용할까?

객체지향 언어로 프로그램을 개발하다 보면 하위 클래스가 상위 클래스를 상속해서 상위 클래스의 메서드를 오버라이드를 하는 경우가 많습니다.이런 오버 라이딩 상황에서 프로그램 유지보수를 하다 보면 상위 클래스가 내용이 변경이 되는 경우 하위 클래스가 상위 클래스에 의존 및 참조하고 있던 상황이 변경되면서 하위 클래스에 뜻하지 않은 에러가 발생합니다.

대표적인 상속의 문제점은 아래와 같습니다.