[Java] 다형성과 역할-구현 분리로 이해하는 객체 지향 프로그래밍
·
Back end/Java
🧩 객체 지향 프로그래밍(OOP)이란?객체 지향 프로그래밍은 프로그램을 명령어의 나열로 바라보는 전통적인 방식에서 벗어나, 여러 개의 독립된 단위인 "객체"들의 협력 관계로 프로그램을 구성하는 방식입니다.각 객체는 메시지를 주고받으며 데이터를 처리하고, 상호작용을 통해 전체 프로그램이 동작합니다.이러한 구조는 프로그램을 유연하고 변경에 강한 구조로 만들어, 대규모 시스템 개발에 특히 적합합니다.🔄 유연하고 변경이 용이하다?레고 블록을 조립하듯이: 객체를 자유롭게 추가하거나 교체할 수 있습니다.키보드나 마우스를 바꾸듯이: 특정 기능을 담당하는 객체를 손쉽게 대체할 수 있습니다.컴퓨터 부품을 교체하듯이: 시스템의 일부가 바뀌어도 전체에 큰 영향을 주지 않습니다.즉, 객체 간 결합도를 낮춰 변경에 유연한 ..