본문 바로가기
공부방/자바프로그래밍

자바 Method(메소드)

by 오후 네시 2020. 7. 13.

- 클래스는 변수(속성)와 메소드(동작)로 이루어져 있다.


 


1. 메소드의 정의

- 쉽게 생각하면 함수임.

 

1) 작업을 수행하기 위한 명령문의 집합

2) 입력 받는 값이 없을 수도 있고, 결과값을 돌려주지 않을 수도 있다.


2. 메소드 형식과 해설

 

1) public void hello(){}

 

public -> 클래스 외부에서 접근 가능함

void -> hello메소드의 리턴 값이 없음. 리턴값이 있을 경우 자료형 적음.(:int)

hello() -> 괄호안에 아무 값이 없으므로 매개변수 없음.

 

2) return 반환값;

 

돌려주는 값이 있을 경우 return 뒤에 반환값을 적는다.

이때 반환값의 자료형은 메소드 선언부의 리턴자료형과 같아야 함.

 

) public int sum(){

    return 10;  // 리턴값이 int형이라야 됨

   }

 

3) 매개변수

 

public int sum(int a){

   int result= 10 + a;

   return result;

}

 

int n = sum(10); // sum 메소드 호출

 

int a -> 매개변수임.

 만약 매개변수가 2개 이상이면 쉼표로 구분한다.

public int sum(int a, double b){

 

3. call by value, call by reference

 

1) call by value(값에 의한 호출)

일반적인 호출방식.

호출하는 쪽의 변수와 호출 받는 변수의 메모리 영역이 각각 다르다.

따라서 한 쪽을 변경한다고 해서 다른 쪽이 같이 변경되진 않는다.

 

2) call by reference(참조에 의한 호출)

 

public void test2(int[] n){

...

}

여기서 n은 배열참조변수로 값을 가지는 것이 아니라 배열의 시작부분주소를 가지고 있다.

이때는 보내는 쪽과 받는 쪽의 값이 동시에 같이 변한다.

 

4. 지역변수와 전역변수

 

1) 지역변수 메소드 내에서 선언되어 메소드 내에서만 쓰이는 변수

2) 전역변수 메소드 밖에서 선언되어 클래스 내에서 두루 쓰이는 변수

 

5. 메소드 오버로딩

 

1) 하나의 클래스에 같은 이름의 메소드를 여러 개 정의하는 것

2) 오버로딩의 조건

 메소드의 이름이 같아야 한다.

 매개변수의 자료형과 개수가 달라야 한다.

매개변수는 같고 리턴 타입이 다른 경우는 오버로딩이 성립되지 않는다.


'공부방 > 자바프로그래밍' 카테고리의 다른 글

자바 static 변수(정적변수)  (0) 2020.07.30
자바 상속  (0) 2020.07.26
자바 생성자  (0) 2020.07.20
자바 클래스와 객체  (0) 2020.07.15
자바 배열  (0) 2020.07.05
자바 반복문(for, while, do while, break,continue)  (0) 2020.07.04
자바 조건문(if, swich)  (0) 2020.07.02
자바 연산자와 피연산자  (0) 2020.04.11

댓글