🌳 < 절차지향 (Procedural Programming) >

절차 지향 프로그래밍은 말 그대로 일련의 절차와 순서에 따라 프로그래밍이 동작하도록 설계되는 방식이다. 이는 '상태'와 '행동'을 별개로 취급하며, 프로그램은 일련의 함수들이 순차적으로, 혹은 필요에 따라 호출되면서 진행된다.

각 함수는 특정 작업을 수행하며, 데이터는 주로 함수 간에 인자로 전달된다.

 

절차 지향 프로그램은 간단한 프로그램에서는 잘 동작할 수 있지만, 프로그램의 규모가 커지고 복잡성이 증강할수록 절차 지향 프로그래밍의 한계가 드러나게 된다. 왜냐하면, 더 큰 프로그램에서는 Data와 그 Data를 조작하게 되는 함수들이 산재하게 되고, 이로 인해 코드의 유지보수가 어려워지게 된다. 

 

🌳 < 객체 지향 프로그래밍 (Object-Oriented Programming) >

객체 지향 프로그래밍은 프로그램을 일련의 독립적인 '객체'들의 집합으로 보는 프로그래밍 패러다임이다.

각각의 객체는 특정한 '상태'(데이터,속성,필드 등)와 '행동'(메서드)를 갖는다. 

 

 

< 표로 보는  절차지향과 객체지향 > 

절차지향형 프로그램은 말 그대로 이야기를 순서대로 써 나가듯이 프로그램을 구성하는 방식이다.

물론 절차 4 처럼 제어문을 사용해 실행 순서를 바꿀 수는 있지만, 그것 조차도 제어문의 절차로 진행되는 것이다.

 

반면 객체지향형 프로그램은 이 프로그램에서 사용되는 객체(자동차,엔진,운전자)를 생성하고,각 객체에 포함된 데이터(컬러,엔진,이름,면허번호,종류)와 기능(구동하기,전진하기,운전하기,장애물 감지하기)을 상호 호출함으로써 프로그램을 구성하는 방식을 말한다.

 

이 때 각 객체에 포함된 데이터는 '속성' 또는 '필드','인스턴스 변수' 라 하고, 기능은 '메서드' 라고 한다.


결국, 절차 지향 프로그래밍은 프로그램의 실행 순서와 구조에 집중하는 반면, 객체 지향 프로그래밍은 프로그램을 구성하는 개별 객체들과 그들 간의 상호작용에 집중한다. 

 

 

 

Reference : Do it! 자바 완전 정복

http://www.yes24.com/Product/Goods/103389317

 

Do it! 자바 완전 정복 - YES24

이 책은 ‘이제 막 프로그래밍에 입문한 사람’에게 꼭 필요한 기본기부터 ‘찐개발자’라면 꼭 알아야 할 내용까지 국내 집필서 중 가장 많은 도해와 그림을 이용해 설명한다. 특히 프로그래

www.yes24.com

 

🤔 < Class와 객체의 개념 >

자바는 객체지향형 프로그래밍 언어로, 클래스,추상 클래스,인터페이스와 같은 객체지향적

문법 요소를 사용해 프로그램을 구성한다.

 

자바를 제대로 사용하려면 이러한 문법 요소를 이해 하여야 한다.

먼저 기본 문법 요소인 클래스에 관해 알아보자.

< 클래스의 개념 알아보기 >

 

객체는 사용할 수 있는 실체를 의미하며,클래스는 객체를 만들기 위한 설계도와 같다. 따라서 1개의 정의된 클래스를 사용하여, 여러 개의 객체를 만들 수 있다.

 < 클래스는 왜 사용할까? >

 

자바가 기본 문법 요소로써 클래스를 사용하는 이유는 무엇일까? 이를 이해하기 위해 먼저 프로그램 문법 요소의 발전 과정을 살펴 보면서 클래스가 만들어진 배경을 알아보자.

변수 : 변수는 가장 기본적인 데이터 저장 단위이다. 간단하게 말하자면, 변수는 데이터를 저장하는 상자라고 생각할 수 있다. 각각의 변수는 특정 형태의 데이터를 저장하며, 이를 필요에 따라 불러오거나 변경할 수 있다.

 

배열: 여러 개의 동일한 형태의 데이터를 효율적으로 관리하기 위해 사용된다. 예를 들어, 학생들의 점수를 관리하고 싶다면 각 학생의 점수를 저장할 변수를 따로 만들어야 하는데, 이는 매우 번거로울 수가 있다. 배열을 사용하면 이런 번거로움을 줄이고, 같은 형태의 데이터를 하나의 변수로 묶어 관리할 수 있다. 

 

구조체: 서로 다른 형태의 데이터를 묶어 관리할 수 있는 문법 요소이다. 배열이 동일한 형태의 데이터만 묶을 수 있는 반면, 구조체는 다양한 형태의 데이터를 한꺼번에 묶을 수가 있다. 예를 들어, 학생의 이름(문자열),나이(정수), 그리고 성적(실수)등을 하나의 구조체로 묶어 관리할 수 있다.

 

클래스: 구조체와 비슷하게 다양한 형태의 데이터를 묶을 수 있지만, 그 이상의 기능을 가지고 있다. 클래스는 관련된 Data뿐만 아니라, 그 Data를 처리하는 Method 까지 묶어 관리가 가능하다. 이는 코드의 재사용성을 높이며, 복잡성을 줄이는데 큰 도움이 된다. 예를 들어, 학생 클래스는 이름,나이,성적과 같은 데이터와 함께,성적을 계산하거나 출력하는 기능을 가질 수 있다.

 

Reference : Do it! 자바 완전 정복

http://www.yes24.com/Product/Goods/103389317

 

Do it! 자바 완전 정복 - YES24

이 책은 ‘이제 막 프로그래밍에 입문한 사람’에게 꼭 필요한 기본기부터 ‘찐개발자’라면 꼭 알아야 할 내용까지 국내 집필서 중 가장 많은 도해와 그림을 이용해 설명한다. 특히 프로그래

www.yes24.com

 

+ Recent posts