객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그램을 객체 중심으로 구성하는 프로그래밍 패러다임이다.
속성 과 메서드(기능)을 가지고 있다. 객체를 생성하기 위한 설계도이다. 클래스는 속성과 메서드를 정의하여, 이를 기반으로 여러 객체를 생성할 수 있다.
기존 클래스의 속성과 메서드를 새로운 클래스가 물려받는 것이다. 이를 통해 코드의 재사용성을 높이고 공통된 기능을 쉽게 관리할 수 있다.
다향성은 동일한 메서드가 서로 다른 객체에서 다르게 동작할 수 있게하는 기능이다. 이는 메서드 오버라이딩을 통해 구현된다.
객체의 내부 속성을 외부에서 직접 접근할 수 없도록 숨기는 것이다. 이를 통해 데이터의 무결성을 유지하고 인터페이스를 통해 객체와 상호작용할 수 있다.
자바는 객체 지향 프로그래밍의 원칙을 따르며, 클래스와 객체를 통해 복잡한 소프트웨어를 효율적으로 구성할 수 있게 해준다. OOP의 개념인 상속, 다형성, 캡슐화 등을 활용하면 코드의 재사용성, 유지보수성, 확장성을 높일 수 있다. 이러한 특성 덕분에 자바는 대규모 소프트웨어 개발에 널리 사용된다.