[Java]객체 지향 프로그래밍
절차 지향 프로그래밍 vs 객체 지향 프로그래밍
절차 지향 프로그래밍 : 실행 순서를 중요하게 생각하는 방식, ‘어떻게’를 중심으로 프로그래밍한다.
객체 지향 프로그래밍 : 객체를 중요하게 생각하는 방식. 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식. ‘무엇을’ 중심으로 프로그래밍 한다.
절차 지향은 데이터와 데이터에 대한 처리 방식이 분리되어 있다. 반면 객체 지향은 데이터와 그 데이터에 대한 행동(메서드)이 하나의 ‘객체’ 안에 함께 포함되어 있다.
자바와 같은 객체 지향 언어는 클래스 내부에 메서드를 포함한다. 메서드를 사용하면 아래와 같은 장점이 생긴다.
- 중복 제거 : 중복된 로직을 제거할 수 있다. 같은 로직이 필요하면 해당 메서드를 여러번 호출한다.
- 변경 영향 범위 : 기능을 수정할 때 해당 메서드의 내부만 변경하면 된다.
- 메서드 이름 : 메서드 이름을 통해 코드를 더 쉽게 이해할 수 있다.
객체 지향 프로그램과 절차 지향 프로그램은 서로 대치되는 개념이 아니다.
객체 지향이어도 프로그램의 작동 순서는 중요하다. 다만 어디에 더 초점을 맞추는가가 중요할 뿐인데, 객체 지향의 경우 설계
와 관계
를 중시한다.
객체 지향의 특징은 속성과 기능을 하나로 묶는 것 뿐만 아니라 캡슐화, 상속, 다형성, 추상화, 메시지 전달 같은 다양한 특징들이 있다.
Leave a comment