basic/java 이론

day 09 - 메소드 (method)

못지(Motji) 2021. 5. 3. 16:33

클래스 = 변수 + 메서드

  • 메서드 : 연산을 처리하는 곳
  • 변수 : 그 결과를 저장하는 곳

메소드 (methood)

  • 어떠한 작업을 수행하기 위한 명령문들의 집합. main도 메서드
  • 메서드는 어떤 값을 입력받아 처리하고, 그 결과를 하나만 돌려준다. (입력값, 리턴값 유/무)
  • 목적/장점 : 재사용 : 반복적인 코드를 줄이고 코드 관리가 용이함
  • ex) System.out.println(); 소문자로 시작해서 괄호를 가지고 있는것으로 구별 가능
  • 메서드 안에는 기능을 한가지만 써주는게 좋다. 기능이 섞이면 재사용성이 떨어짐 따로따로 분리하기

메서드 정의와 사용

  • 메서드 정의 : 어떤 코드를 수행할것인지 미리작성
  • 사용 : 호출
  • 메서드는 호출하면, 메서드를 실행하고, 다시 호출한 곳으로 돌아간다.

✔ 입력값, 리턴값이 없을경우

☑ 정의

☑ 사용(호출)

메서드명();

 

✔ 입력값, 리턴값 있는경우

☑ 정의

☑ 사용(호출)

변수 = 메서드명(인자1, 인자2);

용어정리

• 리턴타입 : 메서드 안 작업을 수행하고 나온 결과의 데이터타입 (리턴해주는 값의 데이터타입)

기본형 8가지, 모든 클래스타입, void (돌려줄 결과가 없을때, return없을때)

• 메서드명 : (변수 명명규칙 참고) 소문자로 시작,띄어쓰기x, 특수기호는 _ $만 가능, 동사형으로 짓기

• 파라미터 : 매개변수, argument, 메서드 수행시 입력받을 값을 담아주는 변수, 입력받을게 없으면 ()소괄호 비워두기

•  return : 메서드를 호출한 곳으로 값을 돌려주는 키워드

• 인자 : 인수, 인자값, arguments, 매개변수

• 변수 : 메서드를 실행하고, return으로 돌려받은 결과를 저장할 변수

❗주의 : 인자와 파라미터의 개수/순서/데이터타입은 반드시 일치해야 한다.

역할

  • 메서드를 강제종료
  • 뒤에 적은 값이 있다면 호출한 곳으로 돌려줌

주의점

  • 리턴타입이 void가 아닌이상 반드시 return 값이 있어야함
  • 리턴타입과 return 뒤에 기입할 값의 데이터 타입이 동일해야한다.
  • void 타입에서도 어떤 조건에 의해 메서드를 중간에 강제종료하고 싶을때는 return;

⚡ex⚡

액체 coffeeMachine (타입 원두통, 타입 물통){

원두통에 든것 갈기;

물통에든 물 끓이기;

원두에 물 내려 추출하기;

return 커피;

}

액체컵 = cooffeeMachine(원두,물)

정의 > 커피기계 만들기

사용 > 커피기계 실행시키기

메서드의 종류

✔ 클래스 메서드 : static 붙힌 메서드, 객체생성 안하고 바로 사용가능, "클래스명.메서드명()"

✔ 인스턴스 메서드 : 일반 메서드들, 객체 생성후 사용가능

👀 같은 클러스내의 메서드에서 호출할때는 객체생성 안해도 바로 사용가능 > 메모리 생성 시점이 같기 때문에