변수와 메서드(2)

roglog·2021년 6월 10일
0

java의 정석

목록 보기
4/36

3.메서드(Method)


  • 메서드: 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것
  • 메서드를 사용하는 이유
    1. 높은 재사용성(reusability)
    2. 중복된 코드의 제거
    3. 프로그램의 구조화

4. 메서드의 선언과 구현


  • 메서드는 크게 '선언부(header, 머리)'와 '구현부(body, 몸통)'로 이루어져 있다.

1. 메서드 선언부 (method declaration, method header)

  • 메서드의 이름, 매개변수 선언, 반환타입으로 구성되어 있음
  • 메서드가 작업을 수행하기 위해 어떤 값들을 필요로 하고 작업의 결과로 어떤 타입의 값을 반환하는지에 대한 정보를 제공함

2. 매개변수 선언 (parameter declaration)

  • 일반적인 변수선언과 달리 두 변수의 타입이 같아도 변수의 타입을 생략할 수 없음
  • 매개변수도 메서드 내에 선언된 것으로 간주되므로 지역변수

3. 메서드의 이름 (method name)

  • 메서드의 이름은 동사인 경우가 많음

4. 반환타입 (return type)

  • 메서드의 작업수행 결과인 return value를 적음
  • 반환값이 없는 경우 'void'를 적어야 함

5. 메서드의 구현부 (method body)

  • 메서드를 호풀했을 때 수행될 문장들을 넣음

6. return문

  • 메서드의 반환타입이 void가 아닌 경우, 구현부 안에 'return 반환 값;'이 반드시 포함되어 있어야 함
  • 반환 값은 반환타입과 일치하거나 자동 형변환이 가능한 것이어야 함
  • return 문은 단 하나의 값만 반환할 수 있음

5. 메서드의 호출


  • 메서드 호출 방법
    메서드이름(값1, 값2, ...);
    Ex)
    print99All();
    int result = add(3,5);
  • 인자(argument)와 매개변수(parameter)

    • 인자: 메서드를 호풀할 때 괄호 안에 지정해준 값
    • 인자의 개수와 순서는 호출된 메서드에 선언된 매개변수와 일치해야 한다.
    • 인자는 메서드가 호출되면서 매개변수에 대입되므로, 인자의 타입은 매개변수의 타입과 일치하거나 장동 형변환이 가능한 것이어야 한다.
  • 메서드의 실행흐름
    같은 클래스 내의 메서드끼리 참조변수를 사용하지 않고도 서로 호출이 가능
    static메서드는 같은 클래스 내의 인스턴스 메서드를 호출할 수 없음
    메서드의 결과를 저장하기 위한 변수는 반환 값과 같은 타입이거나 반화 값이 자동 형변화되어 저장될 수 있는 타입이어야 함


6. return문


  • return문은 현재 실행중인 메서드를 종료하고 호출한 메서드로 되돌아감
  • 반환타입이 void인 경우 return문을 적어주지 않아도 오류가 없음
    (컴파일러가 자동적으로 추가하기 때문)
  • void가 아닌데 return문이 없으면 컴파일 에러가 발생

*매개변수의 유효성 검사

  • 메서드의 body를 작성할 때, 제일 먼저 해야 하는 일이 매개변수의 값이 적절한 것인지 확인하는 것
  • 적절하지 않은 값이 매개변수를 통해 넘어온다면 매개변수의 값을 보정하던가, 보정하는 것이 불가능하다면 return문을 사용해서 작업을 중단하고 호출한 메서드로 되돌아가야 한다.

java의 정석 chapter6

profile
Full Stack Developer 📚

0개의 댓글