프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체로 만들고, 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법
속성이나 행위를 변수와 메소드로 정의한 것
코드를 재수정 없이 재활용하는것
부모클래스의 속성과 기능을 그대로 이어받아 사용
같은 함수더라도 그 함수의 매개변수에 따라 다른 역할을 할 수 있다.