본문 바로가기

자바

6. 절차지향 프로그래밍과 함수 그리고 객체지향1

절차 지향 프로그래밍이란 위에서 부터 아래로 프로그래밍이 순차적으로 실행되는 것을 말한다.

 

프로그래머들은 절차지향 방식을 사용하면서 비효율 적인 면을 느끼게 되었다.

첫번째는 동일한 작업을 하는 프로그램을 입력한 값에 따라 수정해야 되는 불편함이 있었다.

두번째는 프로그램을 입력한 값에 따라 수정하지 않고 각각 마다 코드를 재사용하는 점인데 코드의 양이 길어진다는 점이다.

 

이러한 불편함에 따라 등장한 것이 함수의 개념이다.

 

하지만 함수를 사용하여도 여전히 코드의 재사용, 유지 보수의 어려움이라는 문제가 사라지지 않았다. 그래서 등장한 개념이 객체지향이다.

 

객체란 어떤 특정한 기능을 하는 함수와 데이터를 한 장소에 모아두어 필요할 때 사용할 수 있게 하는 것이다.

 

다음은 함수를 만드는 간단한 예제이다.

package Method;

import java.util.Scanner;

public class Method {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int input1 = scanner.nextInt();
		int input2 = scanner.nextInt();
		
		Method N_power = new Method(); //main문 밖에 있는 함수를 사용하기 위해 선언
		System.out.println(N_power.Nth_power(input1, input2)); //Method의 객체를 이용하여 Method안에 있는 함수를 불러온다.
		System.out.println();
		
		
		Method gugu = new Method();
		gugu.gugudan(input1);
	}
	
	public int Nth_power(int a, int b) { //함수, int는 반환형, 괄호 안에 변수는 입력할 데이터
		int what = a; //곱할 수
		for(int i = 2; i <= b; i++) { //2제곱 부터 곱해지게 설정
			a = a * what;
		}
		return a; //반환형에 맞추어 정수를 반환
	}
	
	public void gugudan(int a) { //함수, void는 반환형(반환을 하지 않겠다.), 괄호 안에 변수는 입력할 데이터
		for(int i = 1; i <= 9; i++) {
			System.out.println(a + " * " + i + " = " + i*a);
		}
	}
}

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

8. 절차지향 프로그래밍과 함수 그리고 객체지향3  (0) 2019.07.15
7. 절차지향 프로그래밍과 함수 그리고 객체지향2  (0) 2019.07.15
5. 배열  (0) 2019.06.29
4. 제어문과 반복문  (0) 2019.06.25
3. 연산자  (0) 2019.06.24