본문 바로가기

자바

절차 지향, 객체 지향

1. 절차 지향(procedureal programming)

절차 지향 프로그래밍은 문제를 해결하는 절차를 중요하게 생각하는 방법이다. 

절차들은 모두 함수라는 단위로 묶이게 된다.

절차지향언어는 개체를 순차적으로 처리하여 프로그램 전체가 유기적으로 연결되어야 합니다.

자동차 제조를 예로 들자면, 자동차는 엔진, 차체, 핸들, 의자, 바퀴 순으로 차례대로 만들어져야 합니다. 서로 분리되어도 안 되고, 순서가 틀려도 안 됩니다. 절차지향 프로그래밍 역시 이와 같습니다.

 

 

2. 객체 지향(object-oriented programming: OOP)

실제 세계가 객체(object)들로 구성 되어 있는 것과 비슷하게 소프트웨어도 객체 단위로 작성하는 방법이다.

컴퓨터로 예를 들자면, 컴퓨터에 쓰이는 모든 부품(모니터, 키보드, 스피커 등)과

컴퓨터가 제공하는 모든 기능(화면이 켜짐, 소리가 남 등)이 전부 객체입니다.

객체지향언어란 프로그램을 다수의 객체로 만들고, 이들끼리 서로 상호작용하도록 만드는 프로그래밍 언어입니다.

컴퓨터의 모든 부품을 적절히 연결하고 조립해서 컴퓨터가 제대로 작동하도록 만드는 것이라고 볼 수 있습니다.

 

 

3. 객체 지향 프로그래밍의 특징

 

캡슐화

데이터와 알고리즘을 하나로 묶어 하나의 캡슐처럼 만드는 것입니다. 이 특징 때문에 데이터와 코드의 형태를 외부에서 알 수 없습니다.

당연히 캡슐화되어있지 않은 데이터와 코드는 사용하기 어렵습니다.

 

상속

부모가 자식에게 유전자를 물려주듯, 상위 클래스의 모든 것을 하위 클래스가 이어 받는 것입니다.

 

상속예제)

 

다형성

객체가 취하는 동작이 상황에 따라서 달라지는 것을 의미

- 여러가지로 불릴 수 있는 것, 상속이 가능한 조건

- 부모와 자식 상속 관계에 있는 클래스에서 상위 클래스의 메시지 하나로

다른 각각의 하위 클래스들이 서로 다르게 동작하는 것이다.

 

 

 

4.객체

객체는 상태와 동작을 가지고 있다. 

객체의 상태는 객체의 특징값(속성)이다. 

 

'자바' 카테고리의 다른 글

이클립스 - toString 자동완성  (0) 2022.08.02
강의영상, getter와 setter자동완성  (0) 2022.08.02
버블 정렬(bubble sort)  (0) 2022.08.01
요일 구하기, 윤년  (0) 2022.07.28
구구단(2단출력, 9단까지거꾸로 가로)  (0) 2022.07.28