Programer/Android (Java)

JAVA 클래스 - Part 2

아즈샤 2013. 6. 24. 22:31
반응형

저번 포스팅에 이어 이번에는 클래스의 메서드(메소드)을 정리해 보도록 하겠습니다.


2. 메서드


혹시 C언어에서 함수라는 용어를 알고 계신가요?  이 함수를 JAVA에서는 메서드라고 불립니다.

이 메서드는 함수와 같이 두가지 종류로 분류할 수 있습니다.


A. 일만하는 메서드

B. 일은 한 후 값을 리턴하는 메서드


자, x, y 라는 변수를 받아서 합을 구하는 메소드를 만들어 봅시다.

  1. void sumA(int x, int y){  
  2.          int c;  
  3.          c = x + y;  
  4.          System.out.println("c=" + c);  
  5.          return//값을 리턴하지 않고 단순히 끝나 버림  
  6.  }  

첫번째 메서드입니다. x와 y를 받아 c에다 저장을 해주고 있네요.

  1. int sumB(int x, int y){  
  2.          int c;  
  3.          c = x + y;  
  4.          return c; //c의 값을 리턴  
  5.  }  

두번째 메서드를 보시면 첫번째 매소드와 동일하지만, 리턴 값 C 가 있다는 것이 다릅니다.

또 다른 점은 첫번째 메서드는 void로 시작하는가 반면, 두번째 매소드는 int로 시작됩니다.

그 이유는 void로 시작하면 리턴 값이 없다는 뜻을 가지고 있고, int 경우 int 형으로 값을 리턴한다는 의미 입니다.


리턴(return) 리턴은 매서드의 종료를 의미합니다. 리턴하는 데이터 타입에 따라 값을 리턴할 수 있고, 값 없이 리턴할 수 있습니다.


그리고 리턴 값이 있다면 변수의 역할을 완벽하게 할 수 있습니다.

  1. int c = sumB(3, 4);  
  2. c = sumB(5, 5);  

매개변수가 바뀔 때마다 subB를 통해 간접할당을 하고 있는 것을 확인 할 수 있습니다.

처음에는 7을 두번째는 10을 할당하는 것 처럼 말이지요.

좀 헷갈릴 수 있는데,


리턴 값을 가지고 있는 매서드는 호출과 동시에 그 자체가 변수의 역할을 할 수 있다고 말할 수 있습니다.

하지만 매서드는 직접 할당이 아닌 간접할당을 원칙으로 합니다.



3. 클래스의 매서드


자, 그럼 자시 클래스로 돌아와서 클래의 메서드에 대해 정리해 봅시다.

  1. public class Top{   
  2.     public int a; //멤버변수   
  3.     public int b; //멤버변수   
  4.     public int sum(int x, int y) {//sum 메서드의 선언   
  5.         return x + y;  
  6.     }  
  7. }  

위 예제를 보면 클래스에 맴버 변수가 들어가 있고, sum이라는 맴버 매서드가 들어가 있군요!


이렇게 클래스 안에 있는 변수와 매서드를, 클래스의 맴버 변수, 맴버 클래스 라고 합니다.

그리고 매서드만 이루어진 클래스는 SeparatedData 클래스라고 하고, 매서드와 변수가 결합된 클래스를 UnitedData 클래스라고 합니다.


그렇다면 왜 JAVA는 맴버 변수와 맴버 메소드를 가진 클래스를 사용하는 걸까요?

이 차이가 일반 순차지향 프로그래밍이냐 객체지향 프로그래밍이냐의 차이가 나타납니다.


음 이후의 내용은 조금 길어 질거 같아 Part3에 이어 정리 하도록 하겠습니다 :)








반응형

'Programer > Android (Java)' 카테고리의 다른 글

JAVA 소켓으로 웹페이지 정보 가져오기  (0) 2013.07.03
JAVA 클래스 - Part 3  (0) 2013.06.25
JAVA 클래스 - Part 1  (0) 2013.06.18
JAVA 데이터 타입  (0) 2013.06.13
[JSP] SQL 연동 기본 개념  (0) 2012.11.12