1. 캡슐화 (Encapsulation): 데이터와 관련 메서드를 하나의 단위로 묶어 외부에서의 접근을 제한하고, 객체 내부의 상태를 보호합니다.
  2. 상속 (Inheritance): 기존 클래스를 기반으로 새로운 클래스를 만들 수 있으며, 코드 재사용성을 높이고 확장성을 강화합니다.
  3. 다형성 (Polymorphism): 동일한 메서드 호출이 다른 객체에서 다르게 해석되도록 하는 기능으로, 코드의 유연성을 높입니다.

객체지향 프로그래밍을 활용하면 모듈화와 재사용성, 유연성과 확장성, 코드의 가독성, 팀 작업의 용이성 에 좋다고 생각합니다.