본문/내용
1. 객체지향 프로그래밍의 원칙에 대해 설명하세요.
객체지향 프로그래밍(OOP)은 소프트웨어를 현실 세계의 객체처럼 모델링하는 방법입니다. 대표적인 원칙으로는 캡슐화, 상속, 다형성, 추상화가 있습니다. 캡슐화는 데이터와 기능을 하객체로 묶어 외부로부터 은폐하여 유지보수와 보안성을 높입니다. 예를 들어, 은행 계좌 시스템에서 계좌번호와 잔액은 내부에 숨기고 입금, 출금 함수만 공개하는 방식입니다. 상속은 기존 클래스의 특성을 재사용하여 코드 재작성 없이 확장이 가능하게 합니다. 예를 들어, 동물 클래스를 상속받아 강아지, 고양이 클래스를 생성하여 공통 속성은 재사용하고 특화 기능은 별도로 정의할 수 있습니다. 다형성은 하인터페이스로 여러 객체를 동일하게 다룰 수 있게 하며, 이를 통해 전체 시스템의 유연성과 확장성을 확보할 수 있습니다. 예를 들어, 결제 시스템에서 신용카드, 체크카드, 모바일 결제 등 다양한 결제 수단을 일관된 인터페이스로 처리할 수 있습니다. 추상화는 복잡한 구현 세부사항을 감추고 핵심 기능만 노출하여 사용자와 개발자의 이해도를 높입니다. 이를 통해 프로그래밍의 복잡도를 줄이고, 유지보수에 소요되…