logo

python interface with ABC, Protocol, goose typing

language-logoPython

• 파이썬에서 인터페이스는 ABC(Abstract Base Classes)를 사용하여 정의하며, 이 경우 인터페이스의 모든 메서드를 구현해야 한다. 만약 모든 메서드를 구현하지 않으면 에러가 발생한다.
• 반면에 Protocol을 사용하면 인터페이스의 일부 속성만 구현해도 실행이 가능하다. 하지만 이 경우 해당 클래스는 인터페이스의 인스턴스나 서브클래스로 간주되지 않는다.
• Python에서 Protocol을 사용한 인터페이스는 구현체가 인터페이스의 모든 속성과 메서드를 구현하지 않아도 되며, 이를 통해 더 유연한 프로그래밍이 가능하다.
• 하지만, 인터페이스에 정의된 메서드를 구현하지 않은 경우에는 해당 메서드를 호출하려고 하면 에러가 발생한다. 따라서 인터페이스를 사용할 때는 해당 인터페이스의 모든 메서드를 구현하거나, 필요한 메서드만 호출하는 것이 중요하다.

thumbnail
북마크
공유하기
신고하기
3분 분량
조회수 61
profile-image아이들미연
10달 전
Copyright © 2025. Codenary All Rights Reserved.