6강. 객체지향 프로그램의 시작 객체지향 이전의 프로그래밍 객체지향의 등장 배경과 이해 메소드의 이해 Lecturer Kim Myoung-Ho Nickname 블스 blogstudy@naver.com
6-1. 객체지향 이전의 프로그래밍 절차지향 지금까지 배운 내용으로 1부터 10까지의 정수의 합을 구하는 프로그램을 만들어 보자. 그리고, 그 결과값이 짝수 인지 홀수 인지 파악하고, 홀수라면 ‘홀수 입니다.’를 출력하고, 짝수라면 ‘짝수 입니다.’를 출력해 보자. (6_1_ex1_proceEx)
6-1. 객체지향 이전의 프로그래밍 절차지향 위에서 살펴본 프로그래밍 방식이 절차지향 언어 입니다. 위에서부터 쭈우~~~~~ㄱ 내려오면서 실행 됩니다. 절차지향 방식을 이용하면서 개발자들은 몇 가지 비효율적인 면을 느끼게 됩니다. 첫째, 기존의 1부터 10까지의 합을 구하는 것을 5부터 100까지로 변경하게 되면 동일한 작업이지만 다시 코드를 수정해야 됩니다. 둘째, 기존의 로직을 다시 사용하게 될 때, 다시 코딩을 하는 방법과, 기존 코드를 카피해서 재사용 하는 방식이 있으나, 두 방법 모두 비효율적 입니다. 셋째, 두번째 방식으로 코딩을 하면 동일한 로직의 코드가 문서 내에 넘쳐나, 코드의 양이 너무 길어 집니다. 추후에 유지보수가 어렵습니다. 하여, 등장한 방식이 함수 또는 메소드라고 불리는 녀석 입니다. 로직만 만들어 놓고, 그때 그때 소스(데이터)를 주면 메소드가 알아서 결과값을 반환하는 방식 입니다. 위의 코드를 수정해 보도록 하겠습니다. (6_1_ex2_proceEx)
6-2. 객체지향의 등장 배경과 이해 객체지향의 등장 배경과 이해 메소드를 이용한 방식으로 개발자들은 아주 많은 효율성을 느끼게 되어 있습니다. 하지만, 메소드를 이용한 방식에도 한계는 있었습니다. 데이터가 많아 지고, 메소드가 많아짐에 따라 코드의 양이 많이 지고, 유지보수가 어려워 지기 시작 했습니다. 하여, 등장한 방식이 객체지향 프로그래밍 입니다. 객체란 동일한 성질의 데이터와 메소드를 한곳에 모아두고 필요한 곳에서 언제든지 이용할 수 있게 만들어 놓은 덩어리 입니다. 쉽게 생각해서 세상에 존재하는 모든 것을 객체라고 생각할 수 있으며, 이러한 객체를 이용한 프로그래밍 방식이 객체지향 방식 입니다. 예) 자동차, 자전거, 주방장,프린터기, 자판기, 휴대폰 등등….. 아직은 어렵죠.... 괜찮습니다. 객체에 대한 이해는 아직 멀었습니다.
public int sum(int i, int j) { int r = 0; 6-3. 메소드의 이해 메소드의 이해 public int sum(int i, int j) { int r = 0; for (int h = i; h <= j; h++) { r = r + h; } return r;
6-3. 객체지향의 등장 배경과 이해 메소드의 이해 예 : 사용자로부터 1에서 9까지 숫자 중 한 개의 숫자를 입력받아 구구단을 출력해 보자.(6_3_ex1_methodEx)