Method

2020. 4. 16. 16:31JAVA

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