JAVA

JAVA 스터디 : 절차지향 ? 객체지향 ? +함수 / 메서드

업무 중 2020. 11. 17. 15:10

절차지향

대표적인 언어 : C언어

특징 

  • 메인함수의 위부터 아래로 순서대로 지향된다.
  • 할당되는 데이터의 값이 일부분 변경될 경우 수정이 어려울 수 있다.
  • 코드가 짧은 경우 큰 문제가 없으나, 복잡해질수록 유지보수가 어렵다.

그 후 함수(메소드)가 생겨났다. 로직만 설정해두고 그때 그때 제공되는 소스(데이터)에 따라 함수(메소드)가 결과값을 반환한다.

 

객체지향

대표적인 언어 : JAVA

  • 동일한 성질의 데이터와 메소드를 한 곳에 모아두고 필요한 곳에서 언제든지 이용할 수 있게 만들어둔 덩어리이다.
  • 접근제한자(public / private) 반환타입(int / char / String ...)(*반환값이 없는 경우 void 이용) 메소드(함수)이름 ((파라미터값))
  • ex) public int sum(int i, int j, ...) / public void sum(int i ...) 

** 반환 타입이 있는 경우 반드시 return __반환값__ 해야한다.  

 

함수를 이용해 구구단 출력

하단의 dan 함수를 작성, main 함수 내에서 dan 을 이용한다.

testDan dan = new test Dan(); 은 testDan 클래스에 있는 dan 함수 (객체명)를 새로 사용한다는 의미이다.

 

dan.dan(input) 의 경우 앞의 dan 은 바로 윗 줄에서 선언한 testDan dan 을 의미이며,

뒤의 dan 은 입력받은 input 파라미터를 dan 함수의 int i 에 할당하여 이용한다는 의미이다.

 

printf 의 경우 %d 를 통해 간편하게 값을 할당할 수 있으나 줄 바꿈이 되지 않으므로 줄바꿈(\n) 을 반드시 넣어야한다.

println 의 경우 System.out.println( i + " * " + j + " = " + (i * j)) 로 사용해야하므로 부호나, 할당값이 많이 사용될 경우 부적절 할 수 있다. 단, 줄바꿈은 자동으로 되기 때문으 \n을 넣을 필요는 없다. 

 

혼란스러울 수 있어 하단의 함수 이름을 변경하고, println 을 사용해보았다. **printf와 println 은 취향껏 이용하면 된다.

 

 

이렇게 했을 때 출력되는 내용은

이다. 

 

짧은 함수이므로 굳이 함수를 이용하지 않아도 문제는 없지만, 코드가 길어질 경우 유지보수의 편리성을 위해 사용된다고 생각하면 된다!

'JAVA' 카테고리의 다른 글

JAVA 스터디: static  (0) 2020.11.19
JAVA 스터디 : 객체  (0) 2020.11.18
JAVA 스터디 : 변수 / 배열  (0) 2020.11.17
JAVA 스터디 : 제어문  (0) 2020.11.16
JAVA 스터디 : 연산자란?  (0) 2020.11.16