메서드
메서드 (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" 명령
- 메서드를 즉시 종료시키고 메서드 호출했던 위치로 돌아감
- 지정한 값을 반환
위의 글만 보아서는 이해가 잘 안될 수가 있다. 그래서 내가 미리 만들어본 프로젝트를 예시로 보여주려 한다.
WinForm에서 위와 같은 프로그램을 만들어보았다.
우선 textbox에 customer ID를 입력하고 엔터 칠 경우, 또는 조회 버튼을 클릭할 경우, 해당 고객의 기업명, 고객명, 연락처, 국적 등을 검색해서 gridview(그리드표)에 보여주는 프로그램이다. 내가 작성한 코드는 아래와 같다.
tbCID_KeyDown() 이벤트와 btnSearch_Click() 이벤트가 둘 다 같은 코드를 실행시키는 것을 알 수 있다.
SearchPInfo() 메서드 안의 코드를 각 이벤트에 적어서 총 2번 반복적으로 작성하는 것 보다, SearchPInfo() 라는 메서드를 하나 만들어서 메서드명만 각 이벤트 함수 안에 작성해주면 코드량을 효과적으로 줄일 수 있고 가독성도 높일 수 있으니 많이 사용하길 바란다.
'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 |