python interface with ABC, Protocol, goose typing
![language-logo](https://static.codenary.co.kr/framework_logo/python.png)
• 파이썬에서 인터페이스는 ABC(Abstract Base Classes)를 사용하여 정의하며, 이 경우 인터페이스의 모든 메서드를 구현해야 한다. 만약 모든 메서드를 구현하지 않으면 에러가 발생한다.
• 반면에 Protocol을 사용하면 인터페이스의 일부 속성만 구현해도 실행이 가능하다. 하지만 이 경우 해당 클래스는 인터페이스의 인스턴스나 서브클래스로 간주되지 않는다.
• Python에서 Protocol을 사용한 인터페이스는 구현체가 인터페이스의 모든 속성과 메서드를 구현하지 않아도 되며, 이를 통해 더 유연한 프로그래밍이 가능하다.
• 하지만, 인터페이스에 정의된 메서드를 구현하지 않은 경우에는 해당 메서드를 호출하려고 하면 에러가 발생한다. 따라서 인터페이스를 사용할 때는 해당 인터페이스의 모든 메서드를 구현하거나, 필요한 메서드만 호출하는 것이 중요하다.
![thumbnail](https://image.wanted.co.kr/optimize?src=https://static.codenary.co.kr/content_img/og_image/14419.png&w=480&q=95)
북마크
공유하기
신고하기