본문 바로가기
자바 JAVA

23.01.10 (클래스와 객체)

by 2023코딩시작 2023. 1. 10.

문제풀이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

댓글