프로그래밍/Java 정리

Java 6일차 -메소드

윤도ri 2021. 11. 23. 20:48

>String 클래스

"Hello" --> char[] --> {'H','e','l','l',o}
문자열의 본질은 문자배열
값을 담은 문자배열 + 유용한 메소드 --->문자열 클래스로 구현 

 

>메소드

:이름뒤에 소괄호 (단, 키워드 뒤의 ()나 클래스 뒤의 ()는 메소드가 아니다.

1)반복되는 코드, 기능,행위 처리 등을 쉽게 관리하기 위해 사용된다.
2)반복이 규칙적이지 않고 우리가 원할때 특정 코드를 수행하게 하고 싶을 때
  메소드를 만들어놓고 후에 호출해서 사용한다.

              f         f(x)       =        2x + 1 
            메소드  매개                 리턴값
              이름   변수

 

>메소드 구조

(1)리턴타입 (2)메소드 명(3)자료형 매개변수, 자료형 매개변수...){
               (4)호출시 실행할 문장
               (5)return 리턴값; }

 

(1)return 뒤의 값의 타입에 맞는 자료형을 작성해준다. 
리턴값이 없을 때에는 void로 작성한다.
(2)동사형으로 작성한다. (ex)정수를 출력하시오: printNum)
(3)생략이 가능하다.하지만 생략시에는 외부(사용하는 곳)에서 값을 전달받을 수 없다. 여러 값을 전달받아야 할 경우에는 ,로 구분하여 그 값들 만큼 선언해 주어야 한다.사용시에는  매개변수의 타입과 개수에 맞게 순서대로 값을 전달해 주어야 한다
(4)생략이 가능하다. 메소드 호출때마다 수행해야하는 코드를 그대로 작성한다. 
(5)생략이 가능하다. (필요하지 않을 경우)

 

>메소드 선언 순서

(두 정수의 덧셈 메소드)
1. 메소드 명을 생각한다. 
      void add(){
          }

2.매개변수를 생각한다.(넘기는값에 따라 변한다-->받기위해 매개변수 필요) 
       void add(int num1, int num2){
          }

3.실행할 문장을 생각한다.
       void add(int num1, int num2){
System.out.println("두 정수의 덧셈메소드);
int result num1 + num2;
          }

4.리턴값을 생각한다.
                void add(int num1, int num2){
System.out.println("두 정수의 덧셈메소드);
int result num1 + num2;
return result;
          }

5.리턴 타입을 수정한다.
      int   add(int num1, int num2){
System.out.println("두 정수의 덧셈메소드);
int result num1 + num2;
          }

 

>메소드 사용

:메소드는 클래스 내부에 있으므로 그 메소드가 속해있는 클래스 타입으로
먼저 변수를 만들어 주어야 한다.(객체화를 진행해주어야 한다.)
클래스명 변수명 = new 클래스명();
ex)Scanner sc = new Scanner(); // 우리가 입력 메소드 데리고 오는것과 동일하다.


변수.메소드명(); //매개변수가 없는것은 그대로 이름으로 사용한다.

변수.메소드명(값1,값2,...); //매개변수의 개수와 타입에 맞게 값을 넘겨준다.

ex)Sc.nextInt(); //한 클래스안에서 sc라는 변수를 지정하여 값을 입력할수있는 

메소드를 사용한것이다. 

**메소드 사용 부분은 선언부 마지막에 return값이 있다면 사용한 부분 통째로
그 리턴값으로 보아야 한다. 단, return값이 없다면 절대 값으로 봐서는 안된다. 

 

>>리턴을 사용해야 할 때

1)메소드 내부에서 모든 기능이 구현되지 않을 때

 

2)사용하는 부분에서 아직 할 작업이 남았을 때

(ex) 메소드 만든 코드에 또다른 코드를 더 덧붙이고싶을때 다시 불러와야해)


3)메소드 기능의 결과를 사용하는 부분에 알려주어야 할 때
(ex)회원가입이 완료후 성공 실패 결과를 알려주어야한다 /true or false 인지 알려줘야하는 경우

 

>>리턴을 사용하지 않을때

:메소드 내에서 모든 기능이 구현될 때 

 

>예제모음

 

'프로그래밍 > Java 정리' 카테고리의 다른 글

Java 8일차 -클래스 배열, 상속  (0) 2021.11.25
Java 7일차 -클래스  (0) 2021.11.24
Java 4일차 -for문  (0) 2021.11.23
Java 5일차 -배열  (0) 2021.11.22
Java 3일차 -조건문  (0) 2021.11.19