메서드

2021. 6. 13. 15:26
728x90

메서드 (method) : 특정 행동을 하는 코드를 메서드로 묶어서 소스코드 내에서 반복적으로 사용 가능 

*메서드의 장점 : 반복적으로 사용되는 코드를 줄임으로써 코드 가독성을 높임

  • 값 반환하지 않는 메서드 선언: private void 메서드명( ) { }
    → private : 해당 class 내에서만 메서드 호출 가능 (public : 외부 class에서도 메서드 호출 가능)
    → void : 값 반환 X
    → 메서드명은 예약어 X, 공백 X
    → 소괄호 () : class의 객체에 대한 참조를 parameter 형태로 전달받을 수 있음 (이건 필요에 따라 정의하거나 빈칸으로 둘 수 있음)

 

  • 값 반환하는 메서드 선언 : private 데이터타입 메서드명( ){ }

     → 작업 성공여부에 따라 true/false 반환

     → 전달받은 매개변수에 대한 결괏값 반환

 

  • 메서드 호출 시

    1) 인스턴스 멤버 메서드인 경우, class로부터 객체 생성 후 메서드가 호출

//방법1
form명.속성 = this.메서드명(인자); // this로 class명 참조해서 메서드 호출

//방법2
클래스명 obj = new 클래스명(); // 객체 생성
int intResult; //멤버변수 선언
int intResult= obj.메서드명(인자); //메서드 호출 -> 메서드 결과값을 intResult변수에 할당

 

    2) 정적 멤버 메서드인 경우, "static" 사용하고 객체 생성할 필요 없이 클래스명 참조해서 호출
        → 전역적으로 메서드를 사용 가능

//방법1
int intResult;
intResult = 클래스명.메서드명(인자);


*"return" 명령
- 메서드를 즉시 종료시키고 메서드 호출했던 위치로 돌아감
- 지정한 값을 반환

 

위의 글만 보아서는 이해가 잘 안될 수가 있다. 그래서 내가 미리 만들어본 프로젝트를 예시로 보여주려 한다.

Customer ID 입력시 고객의 정보를 조회하는 프로그램

WinForm에서 위와 같은 프로그램을 만들어보았다.

우선 textbox에 customer ID를 입력하고 엔터 칠 경우, 또는 조회 버튼을 클릭할 경우, 해당 고객의 기업명, 고객명, 연락처, 국적 등을 검색해서 gridview(그리드표)에 보여주는 프로그램이다. 내가 작성한 코드는 아래와 같다.

textbox에 입력하고 엔터칠 시 조회 시작
조회 버튼 클릭할 시 조회 시작
고객 정보 조회하는 쿼리

tbCID_KeyDown() 이벤트와 btnSearch_Click() 이벤트가 둘 다 같은 코드를 실행시키는 것을 알 수 있다.

SearchPInfo() 메서드 안의 코드를 각 이벤트에 적어서 총 2번 반복적으로 작성하는 것 보다, SearchPInfo() 라는 메서드를 하나 만들어서 메서드명만 각 이벤트 함수 안에 작성해주면 코드량을 효과적으로 줄일 수 있고 가독성도 높일 수 있으니 많이 사용하길 바란다.

728x90

'C# > C# 문법' 카테고리의 다른 글

클래스 (Class)  (0) 2021.06.14
매개변수 (Parameter)  (1) 2021.06.14
자료형 (Data Type)  (0) 2021.06.13
표준 입력  (0) 2021.06.13
박싱/언박싱  (0) 2021.06.13

BELATED ARTICLES

more