현실에 존재하는 사물과 개념들을 소프트웨어적으로 구현하고, 그 구현된 객체들이 상호작용하여 데이터를 처리하는 방식
독립적으로 존재할 수 있는 것
코드를 객체화하여 독립적으로 존재할 수 있도록 하는 것
즉, 각 코드들을 재사용할 수 있도록 만들어서 한 번 사용한 코드를 다른 곳에서도 사용하도록 하게 만드는 것을 말한다.
코드의 재사용
추상화
공통적인 특징을 모아 놓은 것
ex) 택시, 버스 : 바퀴, 핸들 등 공통적 특징을 '자동차'로 추상화한다.
상속
부모의 것을 자식이 받아오는 것
ex) 자동차라는 공통적인 특징에 있는 기능들을 택시, 버스가 상속받아서 사용한다.
캡슐화
사용하는 사람은 기능만 알면 된다.
→ 캡슐 안에는 어떤 것이 있는지 알 필요가 없다는 것
다형성
같은 모양을 갖고 있으나 다른 의미를 갖고 있는 것
ex) 소리내기: 멍멍, 야옹, 꼬끼오, ...
1) 메서드 오버로딩(Overloading) : 함수의 중복정의
2) 메서드 오버라이딩(Over Riding) : 함수의 재정의