일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- java
- JSP
- Interface
- StringBuffer클래스
- 람다식
- 제어자
- 에러
- 다형성
- 배열
- 접근제어자
- Connection
- StringBuffer
- 객체지향
- array
- File입출력
- 메서드
- 예외
- 입출력
- I/O
- 변수
- ToString
- 객체
- 예외처리
- for문
- 인터페이스
- try-catch
- 내장 객체 영역
- 커넥션 풀
- DB
- 상속
Archives
- Today
- Total
ksouth9
객체지향언어(4) - 메서드(1) 본문
메서드(method)
메서드란 어떠한 특정 작업을 수행하기 위한 명령문의 집합
- 어떤 값을 입력하면 이 값으로 작업을 수행해서 결과를 반환한다.
- 입력값 또는 출력값이 없을 수도 있다.
- 입력값과 출력값이 모두 없을 수도 있다.
메서드를 사용하는 이유
중복되는 코드의 반복적인 프로그래밍을 피할 수 있다. 또한 모듈화로 인해 코드의 가독성도 좋아진다.
그리고 프로그램에 문제가 발생하거나 기능의 변경이 필요할 때도 손쉽게 유지보수를 할 수 있다.
1. 높은 재사용성
- 한번 만들어 놓은 메서드는 계속해서 호출이 가능하다.
2. 중복된 코드의 제거
- 반복되는 문장들을 묶어서 하나의 메서드로 작성하여 메서드를 호출하는 한 문장으로 대체
- 전체 소스 코드의 길이 짧아지고, 오류가 발생할 가능성도 줄어든다.
3. 프로그램의 구조화
- 기능별로 여러 개의 메서드에 담아 프로그램의 구조를 단순화시킨다.
메서드의 선언과 구현
메서드는 크게 두 부분, '선언부(header)'와 '구현부(body)'로 이루어져 있다.
반환타입 메서드이름 (타입 변수명, 타입 변수명, ...){ //(선언부)
//메서드 호출시 수행될 코드(구현부)
}
int add(int a, int b){ //(선언부)
int result = a + b;
return result; //호출한 메서드로 결과를 반환한다.(구현부)
}
메서드 선언부
- 메서드의 이름, 매개변수 선언, 반환타입 으로 구성되어 있다.
- 메서드가 작업을 수행하기 위해 어떤 값들을 필요로 하고 작업의 결과로 어떤 타입의 값을 반환하는지에 대한 정보 제공
- 메서드의 선언부를 변경하게 되면, 그 메서드가 호출되는 모든 곳도 같이 변경해야 한다.
- 위의 코드를 기준으로 int(반환타입), add(메서드 이름), (int a, int b)(매개변수선언(입력))
매개변수 선언
- 메서드가 작업을 수행하는데 필요한 값들(입력)을 제공받기 위한 것
- 필요한 값의 개수만큼 변수를 선언하며 각 변수 간의 구분은 쉼표','를 사용
- 일반적인 변수선언과 달리 두 변수의 타입이 같아도 변수의 타입을 생략할 수 없다.
- 값을 입력받을 필요가 없다면 괄호 안에 아무 것도 적지 않아도 된다.
반환타입
- 메서드의 작업수행 결과인 반환값의 타입을 적는다.
- 반환값이 없는 경우 반환타입으로 'void'를 적어야한다.
메서드 구현부
- 괄호{} 안의 내용을 '메서드 구현부'라고 한다.
- 메서드를 호출했을 때 수행될 문장들을 넣는다.
return문
- 수행한 결과, 반환값
- 구현부{}안에 'return 반환값;'이 반드시 포함되어야한다.
- 반환 타입이 'void'일 경우 포함 되지 않아도 상관없다.
- 수행한 결과인 반환값을 호출한 메서드로 전달한다.
- 반환타입과 일치하거나 자동 형변환이 가능한 것이어야한다.
- 단 하나의 값만 반환할 수 있다.
int add(int x, int y){
int result = x + y;
return result; //작업 결과(반환값)를 반환한다.
}
반환타입(int)과 result(반환값)이 일치해야 한다.
지역변수
- 메서드 내에 선언된 변수를 '지역변수'라고 한다.
- 메서드 내에 선언된 변수들은 그 메서드 내에서만 사용가능하다.
- 서로 다른 메서드일 경우에는 같은 이름의 변수를 선언해도 된다.
'Java' 카테고리의 다른 글
객체지향언어(4) - 메서드(3) (0) | 2022.03.03 |
---|---|
객체지향언어(4) - 메서드(2) (0) | 2022.03.03 |
객체지향언어(3) - 변수 (0) | 2022.03.03 |
객체지향언어(2) - 객체,인스턴스 (0) | 2022.03.03 |
객체지향언어(1) - 클래스,객체 (0) | 2022.03.02 |