객체 지향 프로그래밍 특징 (추상화, 캡슐화, 상속, 다형성)
객체 지향 프로그래밍 (OOP : Object-Oriented Programming) 객체 지향 프로그래밍은 컴퓨터 프로그래밍 패러다임 중에 하나이다. 패러다임이란 프로그래밍을 어떤 관점에서 해나갈 것인가에 대한 고민이다. 기존 절차 지향 프로그래밍 언어들이 프로그램의 프로세스 흐름을 표현(명령어의 목록이다라고 생각)하는데 중점을 두었다면, 객체 지향 프로그래밍 언어들은 데이터나 정보의 표현에 중점을 둔 언어들이다. 프로그램을 여러 개의 독립적인 단위, 즉 '객체'들의 모임으로 생각하는 것이다. 추가적으로 함수형 프로그래밍은 상태값을 지니지 않는 함수값들의 연속으로 생각할 수 있게 해준다. 자바는 대표적인 객체 지향 패러다임을 따르는 언어지만 jdk 1.8부터 함수형 프로그래밍 패러다임을 지원하기 위해 ..