본문 바로가기
728x90

덕타이핑2

[PYTHON] 인터페이스(Interface) 개념을 abc 모듈 없이 구현하는 3가지 우아한 방법과 추상화의 차이 해결 객체지향 프로그래밍(OOP)에서 인터페이스(Interface)는 소프트웨어의 결합도를 낮추고 유지보수성을 높이는 핵심 설계 도구입니다. Java나 C#과 같은 정적 타입 언어에서는 interface라는 키워드가 명시적으로 존재하지만, 파이썬은 '덕 타이핑(Duck Typing)'과 '동적 타이핑'을 기반으로 하기에 접근 방식이 사뭇 다릅니다. 흔히 파이썬에서 추상화를 논할 때 abc(Abstract Base Classes) 모듈을 떠올리지만, 때로는 외부 모듈의 의존성을 줄이거나 파이썬 특유의 유연함을 극대화하기 위해 abc 없이 인터페이스를 구현해야 하는 상황이 발생합니다. 본 포스팅에서는 전문적인 시각에서 abc 없이 인터페이스를 설계하는 방법과 그에 따른 아키텍처적 차이를 심도 있게 분석합니다.1... 2026. 2. 24.
[PYTHON] 다형성(Polymorphism)이란? 코드의 유연성을 완성하는 객체 지향의 마법 1. 다형성(Polymorphism): 하나의 이름, 수만 가지의 얼굴파이썬을 비롯한 객체 지향 프로그래밍(OOP)을 학습할 때 가장 추상적이면서도 강력한 개념이 바로 다형성(Polymorphism)입니다. 그리스어인 'Poly(많은)'와 'Morph(형태)'의 합성어인 이 단어는 문자 그대로 "다양한 형태를 가질 수 있는 능력"을 의미합니다.프로그래밍적 관점에서 다형성이란, 동일한 인터페이스나 메서드 호출이 서로 다른 클래스의 객체에서 각기 다른 방식으로 동작하게 만드는 원리입니다. 이는 개발자로 하여금 객체의 구체적인 타입에 얽매이지 않고, 오직 그 객체가 수행할 '행위'에만 집중하여 코드를 설계할 수 있는 자유를 부여합니다.2. 왜 다형성을 사용해야 하는가? (Strategic Benefits)다형.. 2026. 2. 18.
728x90