ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 학원 DAY8. 메소드
    기록 2022. 9. 17. 17:05

    메소드 :

    - 메소드는 이름 있는 코드 블록이다.

    - 메소드는 객체의 구성요소 중 기능을 담당한다.

    - 메소드는 선언부와 구현부로 구성된다.

    - 메소드의 선언부는 접근제한자 반환타입 메소드이름(타입 매개변수명, 타입 매개변수명, ...) 으로 구성된다.

    - 메소드의 구현부는 해당 메소드가 수행하는 작업에 대한 수행문이 포함되어 있다.

     

    접근제한자 반환타입 메소드이름(매개변수타입 매개변수명, 매개변수타입 매개변수명,...) {

    수행문;

    수행문;

    }

     

    * 접근제한자 : 이 메소드의 공개범위를 지정한다. (전체 공개, 패키지 공개, 비공개)

                           메소드는 대부분 전체공개로 지정한다.

                           public 접근제한자는 메소드를 전체공개시킨다.

                           private 접근제한자는 메소드를 비공개시킨다.

    * 반환타입 : 이 메소드의 최종 결과값의 데이터타입을 지정한다.

                      반환타입은 void와 void가 아닌 경우로 구분할 수 있다.

                      반환타입이 void이면 이 메소드는 값을 반환하지 않는 메소드다. 이 메소드를 실행했을 때 획득되는 값이 없다.

                      이 메소드를 실행했을 때 획득되는 값이 있는 경우 해당 값의 타입을 반환타입 자리에 적는다.

    * 메소드이름 : 수행문을 포함하고 있는 코드블록의 이름이다.

                        메소드이름은 동사로 시작하고, 코드블록 내의 수행문이 수행하는 작업을 잘 드러내는 이름으로 정한다.

    * 매개변수타입과 매개변수명 : 이 메소드 실행 시 전달받는 값의 타입과 그 값을 저장하는 변수의 이름을 지정한다. 전달받는 값이 없으면 생략해도 상관없다.

    하려는 행위에 따라 메소드가 다름.

    매개변수가 없다는 것은 전체를 다룰 때이다.

    조회하는 것은 값을 획득하는 것이니까 밑에가 뚫려 있다. 즉, 반환타입이 있다.

    변경하는 것은 반환타입이 없음.

    요구사항을 잘 분석하면 메소드이름, 반환타입, 매개변수를 무엇으로 할지 적을 수 있다.

    메소드의 선언문을 얼마나 잘 적는가에 따라서 수행문을 읽지 않고도 수행할 행위를 알 수 있다.

    반환타입은 메소드의 이름을 통해 알 수 있다.

    반환타입은 이 메소드를 실행한 후, 획득된 값을 저장하는 변수를 정의할 때 꼭 필요한 정보다.

    매개변수타입과 매개변수명은 이 메소드를 실행할 때, 전달할 값의 정보를 파악할 때 필요하다.

     

    메소드의 구현부

    : 수행문을 포함하고 있는 코드블록이다.

    매개변수가 있는 경우, 메소드 실행시 전달한 값을 사용해서 수행문을 실행한다.

    반환타입이 void가 아닌 경우, 메소드의 구현부에서는 반드시 값을 반환하는 return문이 있어야 한다.

     

    * return문의 사용예시

    return; 반환타입이 void인 메서드에서만 사용할 수 있다. 실행중인 메소드를 종료시킨다. 필요없으면 안적어도 된다.

    return 값; 반환타입이 void가 아닌 메소드에서만 사용가능하다. 실행중인 메소드를 종료하고, 지정된 값을 반환한다. 생략할 수 없다.

     

    * 메소드의 작성 목적 :

    - 중복된 코드를 제거하기 위해서

    - 코드의 재사용성을 향상시키기 위해서

    - 코드의 가독성을 향상시키기 위해서

     

    +) 메소드 호출할 때 ()를 쓰는 이유는 ()안에 매개변수를 적는 곳이기 때문이다.

    ()안에 쓰는 것을 매개변수 인자라고 함.

    매개변수 인자 : 매개변수에 전달되는 값

     

    +)  매개변수인자에 메소드의 매개변수이름이 적혀지도록 설정해놨기 때문에 코딩이 빨라져서 쓰는 것이지

    매개변수 이름과 매개변수 호출할 때의 매개변수 인자의 이름이 같을 필요 없다.

    변수의 이름은 블록 내에서만 유효하다.

    매개변수인자가 전달 될 때 변수의 이름이 전달되는게 아니라 값이 전달되는 것이기 때문에 이름이 달라도 상관없다.

    댓글

Designed by Tistory.