OOP는 프로그래밍 패러다임 중 하나로, 컴퓨터 프로그램을 객체들의 모임으로 바라보고 객체들 간의 상호작용으로 서술하는 방식입니다. 객체들의 유기적인 협력과 결합을 통해 좀 더 유지보수와 확장성이 용이한 프로그램을 만들 수 있습니다.
“모든 실제하는 대상”을 객체 지향 프로그래밍 언어에서는 객체라고 부릅니다.
예를 들어 지금 여러분 옆에 있는 휴대폰, 물컵 등 여러 사물이나 사람들 모두를 하나의 객체라 볼 수 있습니다.
접근 제어자
public - 모두가 접근 가능
protected - 클래스, 패키지, 상속
private - 클래스(본인만 접근 가능)
→ 객체들이 가진 공통적인 데이터와 기능을 도출해 내는 것을 의미한다.
‼️ 오버라이딩(Overriding)
- 같은 메서드 이름 / 같은 인자 목록 / 상위 클래스의 메서드를 재정의 한다.
- 상위 클래스 타입의 객체 참조 변수에서 자동으로 하위 클래스가 오버라이딩한 메소드를 호출해 준다.
‼️ 오버로딩(Overroding)
- 같은 메서드 이름 / 다른 인자 목록 / 다수의 메서드 중복 정의 한다.