문제풀이task01~04 + 메서드01~08
배열
heap 주소값, 크기가 정해지지 않은 공간 배열을 늘리거나 추가하지 못함 -> 기존의 데이터가 있을 수 있어서 |
task 02_02
😀객체
속성
기능:하는일
메서드(Method)?
* 1. C 언어에서의 함수(function)과 같음.
* 2. 기능을 정의하는 단위(예 : 덧셈 기능, 뺄셈 기능 등등)
* 3. 하나의 기능만을 정의하는 것이 좋음.
* 4. 자주 반복되는 내용을 정의해 놓고, 필요할 때 호출하여 사용함.
*
* 형식)
* [접근제한] 반환형 메서드이름(매개변수 혹은 인자) {
* 메서드 호출 시 실행될 문장;
* }
*
* - 접근제한 : public > protected > default > private
* (클래스, 메서드, 변수 앞에 사용됨)
* - 반환형 : - 메서드를 실행하고 특정 타입의 결과를 반환해 주겠다고
* 선언하는 것을 반환형(리턴타입)이라고 말함
* - 메서드에서 실행된 결과값을 돌려주는 자료형으로 생략이 불가능함.
* - 해당 메서드가 어떤 동작이나 기능을 실행한 후 결과를 알려주는 자료형.
* - 만약 결과를 되돌려줄 필요가 없는 경우에는 void 라는 키워드를 작성함.
* - 반환형이 void인 경우를 제외하고 결과를 되돌려주어야 할 때는
* 메서드 명령문 맨 마지막에 return이라는 키워드를 작성 후,
* 앞에서 선언한 반환형과 같은 자료형으로 결과를 되돌려준다.
* - 메서드이름 : - 식별자, 소문자로 시작 ,두 개의 단어가 결합이 된 경우에는
* CamelCase 기법으로 작성을 함.
* - 매개변수 : - 외부에서 값을 넘겨 받는 변수, 생략가능.
* - 메서드 호출 시 전달되는 값의 저장을 위한 용도로 사용이 됨.
* - 메서드 호출 시 전달되는 값의 자료형과 매개변수의 자료형은 반드시 일치해야 함.
* - 메서드 실행문 : - 해당 메서드가 호출된 경우에만 실행이 됨.
😀메서드
- 접근제한 : public > protected > default > private
- 반환형 :
jvm으로 되돌려 줄 필요 없을 때는 void사용
형식)
* [접근제한] 반환형 메서드이름(매개변수 혹은 인자) {
* 메서드 호출 시 실행될 문장;
* }
-위에서 아래로 실행될 때 메서드 호출을 만나면 제어권이 main메서드 밖으로 넘어가고 end문을 만나면 다시 호출한 쪽으로 넘어온다.
😀매개변수가 있는 메서드
[접근제한] 반환형 메서드이름 (int k, int e) { // 매개변수(가인수)
}
main 메서드 {
total(95, 88) // 실인수
}
==> 매개변수(가인수)와 실인수는 type, 순서, 갯수가 일치해야 한다.
😀메서드 호출방식
1. call by value 방식
- 값을 전달하여 호출
- 매개변수가 기본자료형(int, double 등)
==> 메서드가 지역변수이기에 main오면서 날아가버림
2. ★★★★★call by reference방식★★★★★
- 주소값을 전달하여 호출
- 매개변수가 참조자료형(배열, 클래스)
==> 2개의 배열이 동일한 배열주소를 공유함으로 main에 그대로 적용된다.
ex)
public static void(int[] array) {}
ouput(arr)
😀 메서드 호출 시 반환형
1. 값이 반환되는 경우 :
public static int method1() {
return 155;
}
2. 변수명이 반환되는 경우
public static int method2(int su1, int su2) {
int sum = su1*su2
return sum;
}
3. 수식이 반환되는 경우
public static int method3(int su1, int su2) {
return = su1*su2;
}
***main메서드에서 만든 메서드가 다른 메서드로 넘겨줘야 할 때는 변수를 선언해서 받아줘야 함.
ex) int su = method1();
method2(su)
'자바 JAVA' 카테고리의 다른 글
23.01.12 (클래스와 객체) (0) | 2023.01.12 |
---|---|
23.01.11 (클래스와 객체) (0) | 2023.01.11 |
23.01.09 (클래스와 객체) (0) | 2023.01.09 |
23.01.06(제어 흐름 이해하기) (0) | 2023.01.09 |
23.01.05(제어 흐름 이해하기) (0) | 2023.01.06 |
댓글