Day 07 :) 메서드

메서드

메서드의 정의

  • 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것
  • 선언부와 구현부로 구성되어 있음
  • 주로 동사로 네이밍함

다양한 형태의 메서드

반환타입O 매개변수X

반환타입 메소드명(){
	return;
    }
리턴값받을변수 = 객체.메소드명();

반환타입O 매개변수O

반환타입 메소드명(매개변수){
	return;
    }
리턴값받을변수 = 객체.메소드명(입력인수1, 입력인수2, ...);

반환타입X 매개변수O

void 메소드명(매개변수){
	}
객체.메소드명(입력인수1);

반환타입X 매개변수X

void 메소드명(){
}
객체.메소드명();

메서드의 선언부

반환타입

  • 하나의 값만 반환 가능. 배열을 이용하여 여러 값 반환 가능
  • 반환값과 return 값의 타입은 같거나 자동형변환이 가능해야함
  • 반환값 없을 시 void로 작성

매개변수

  • 메서드 수행을 위해 받아야 할 입력값이 적혀져 있음
  • 필요한 값의 개수만큼 변수를 선언해야 하며, 각 변수들은 콤마(,)로 구분
  • 매개변수의 타입이 모두 같아도 타입생략 불가
void a (int x, int y){..}	//가능
void b (int x, y)		//불가

구현부

지역변수

  • 메서드 내의 수행문들
  • 메서드 내에서 선언된 변수들은 해당 메서드 내에서만 사용 가능

반환문 return;

  • 반환값은 실무에서 주로 자료의 '조회'에 사용됨
  • 오직 한개만 허용
  • void의 경우 생략 가능
  • if문과 for문 및 산술연산, 조건연산자(삼항연산자) 사용 가능
  • if문일 경우 else값에도 반드시 return;을 넣어주어야 함

메서드 중복정의(Method Overloading)

  • 한 클래스 내에 같은 이름의 메서드가 있어도 매개변수의 개수 또는 타입이 다르면 중복정의 가능
int a(int x, int y, int z){}
int a(int a, int b, int c){}	// 불가. 같은 타입,갯수의 매개변수가 이미 지정됐기 때문
int a(int x, int y){}
int a(int x, int y, int z){}	//가능
int a(int x, double y){}
int a(double x, int y){}	//가능

좋은 웹페이지 즐겨찾기