모바일 개발하는 자바리안의 메모장

자바(JAVA) - 메소드(Method) 본문

Java/Java.study

자바(JAVA) - 메소드(Method)

자바리안 2016. 8. 4. 12:43
반응형

메소드란? 간단하게 기능이다. 객체가 가진 기능부라보면된다.


역시나 차로 예를 들어보면,

앞서 차 클레스의 이름, 마력, 문개수 등이 자동차가 가진 데이터 값이라하면, 

자동차의 기능들(주행, 브레이크, 빵빵 등)이 메소드로 분류된다.


public class Car{
	String 이름 = "붕붕이";
	int 마력 = 100;
	int 문개수 = 4;
	// 등등

	public void drive() { // 메소드 헤드
		System.out.println("부릉부릉"); // 메소드 바디
	}	

	public void stop() { // 메소드 헤드
		System.out.println("....");
	}	

	public String tellCarName(){
		return 이름;
	}

	public void changeCarName(String newName){
		이름 = newName;
	}


	public static void main(String[] args){
		Car my_car = new Car(); // Car 객체 생성
		
		my_car.drive() // 메소드 호출 -> 출력 : 부릉부릉
		my_car.stop() // 메소드 호출 -> 출력 : ....
		String name = my_car.tellCarName(); // name 값 : "붕붕이"
		my_car.changeCarName("뿡뿡이"); // 뿡뿡이로 이름 변경
	}
}

 

클레스에 포함되어 있는 메소드는 멤버 메소드라 불리우며,

호출은 객체명 뒤에 점을 찍고 메소드를 입력해주면된다.(괄호 주의!)


메소드 헤드부는 

[접근 제어자] [리턴 타입] [메소드명] ( 페러미터 ) 

순서로 구성된다.


접근 제어자(Access Modifier)의 경우 추후 자세히 다루겠지만, 

그냥 간단히 보면 해당 메소드가 사용될 수 있는 범위를 정하는 역할을 한다.


리턴 타입(return type)의 경우 매우매우매우매우매우 중요하다.

위 코드에서 다룬 drive, stop 메소드는 리턴 타입이 void이다.

void 타입은 아무 값도 리턴하지 않는다

메소드가 실행되면 메소드 내 코드가 다 처리되고 그냥 끝나는거다.


리턴 타입이 있는 메소드인 tellCarName메소드를 보자.

리턴 타입이 String으로 되어있으며, return 문을 볼 수 있다.

return 문은 메소드에 값을 리턴할 때 사용되며,

return 값은 항상 리턴 타입으로 선언한 타입과 일치해야한다.

리턴값이 있는 메소드 = 어떠한 값이 반환된다. 그러므로,

위 코드와 같이 String 리턴 타입의 메소드를 실행하여 String 타입의 변수에 값을 부여할 수 있다.


메소드명은 그냥 말 그대로 메소드 이름,

보통 동사를 시작으로 작명하며, 대문자로 단어를 구분지어준다.

(ex.makeSomeMethods)


페러미터(parameter)는 값을 전달하는 역할을 한다. 

changeCarName 메소드의 페라미터를 보자.

String 타입을 받을 수 있게 선언되어있다. 

우리는 페라미터를 통해 String 타입 데이터를 받아 메소드에서 사용할 수 있다.

페라미터가 채워진 메소드를 호출할 때에는

괄호()에 페라미터에서 선언된 타입과 일치하는 데이터를 넣어 호출한다.


반응형
Comments