2020. 4. 16. 16:31ㆍJAVA
method
- 전달받은 매개변수를 처리해 결과를 돌려주는 작은 프로그램
- 함수(function)라고도 하는데 클래스 안에 존재하는 함수를 메소드라고 함.
*자바는 모든 것이 클래스 안에 만들어져야하기 띠문에 함수라는 표현을 사용하지 않음.
- 함수는 호출되면 자신의 메모리 영역(stack이라는 자료구조로 만들어지기 때문에
stack이라고 부르는 경우가 많음)을 별도 생성해서 독자적으로 수행됨
*stack - 후입선출의 자료구조
method생성
- 접근지정자 특성 결과형 메소드이름(매개변수 나열){
메소드 내용
return 데이터
}
-접근지정자는 변수와 동일
특성
abstract(추상): 내용이 없는 메소드
final(종단): 재정의 할 수 없는 메소드
static: 클래스를 이용해서 호출
synchronized: 동기화, 실행 중 다른 스레드에게 제어권을 넘기지 않는 메소드
native: 운영체제의 기능을 사용하기 위한 메소드로 대부분의 경우 c언어로 작성된 메소드를 호출하고자 할 때 사용
- 결과형은 return할 때 사용한 데이터의 자료형을 적는데 return이 없으면 void라고 설정
- 매개변수는 메소드를 호출할 때 넘겨주는 데이터로, 없으면 생략가능하고 여러 개 사용 가능
- return 다음에는 아무런 문장도 실행x.
method 호출
- 클래스 내부에서 호출할 때에는 메소드이름(매개변수)
- 클래스 외부에서 호출할 때는 클래스이름.메소드이름(매개변수)또는 인스턴스이름. 메소드이름(매개변수)
method 사용 이유
- 중복된 코드 최소화
- 프로그램을 작게 분할해 유지보수가 편하게 하기 위해
Argument(매개 변수)
- 메소드를 호출할 때 같이 전달해주어야 하는 데이터를 argument라고 하는데 메소드 내부에서는 parameter라고 하기도 함.
- 없을수도 있고 여러개 사용 가능
- 매개변수는 메소드 내에서만 사용 가능한 지역변수
- 메소드 호출시 데이터를 넘겨주면 데이터가 저장하고 있는 참조가 전달
return
- 메소드의 수행을 중단하고 메소드를 호출한 곳으로 제어권을 넘겨주는 명령어
- return을 할 때는 return만 할 수 있고 데이터를 가지고 return하는것도 가능
- return할 데이터가 없는 경우 return 생략하고 결과형은 void.
- return값을 다른곳에서 사용 가능.
static메소드
- 메소드의 결과형 앞에 static을 추가한 메소드
- 클래스 이름으로 호출이 가능
static이 없는 메소드는 인스턴스 이름으로만 호출이 가능
- 메소드 안에서 지역변수와 static변수만 사용 가능
메소드 안에서 인스턴스 변수를 사용할 수 없음
이 메소드 안에는 this가 만들어지지 않음
- static변수의 초기화나 인스턴스 변수를 사용하지 않는 메소드를 만들 때 이용
메소드 원형
- 리턴타입 메소드이름(매개변수 나열)
1) static이 붙어있는지 없는지 확인
- static이 붙지 않은 것을 사용할 때는 인스턴스를 사용하고 인스턴스를 이용해서 호출
- static이 붙어있으면 클래스이름을 이용해서 호출
2) 매개변수를 확인
- 매개변수를 확인해서 매개변수의 자료형과 일치하는 데이터 대입
- 개수 맞춰서 호출해야함
3) 리턴타입 확인
- void이면 호출하는것으로 종료
- void가 아니라면 다른 작업을 연속으로 하던가 변수에 결과를 대입해서 사용
'JAVA' 카테고리의 다른 글
Package (0) | 2020.04.20 |
---|---|
생성자 (0) | 2020.04.17 |
Class (0) | 2020.04.16 |
20/04/07 수업정리 (0) | 2020.04.09 |
20/04/06 수업정리 (0) | 2020.04.09 |