- 클래스는 변수(속성)와 메소드(동작)로 이루어져 있다.
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 |
댓글