= 공통된 특징, 행동을 추출하는 행위.
ex) 클래스 만들기, ...
= 데이터 은닉.
높은 응집도, 낮은 결합도를 유지하도록 하여 변경을 자유롭게 할 수 있도록 한다.* 응집도 : 클래스들이 얼마나 밀접하게 관련되어 있는지. * 결합도 : 어떤 기능을 실행하는데 다른 클래스에 대해 얼마나 의존적인지. ex) private 변수, 내부 클래스, ...
= 하나의 모습으로 여러 방식으로 동작할 수 있도록 만드는 행위.
ex) 오버로딩, 오버라이딩, ...
= 상위 클래스의 기능을 하위 클래스가 이용할 수 있게 함으로써, 코드의 재사용성을 증가시킨다.