본문 바로가기

언어 기초/JAVA

[자바의정석 | Chapter 06 객체지향 프로그래밍1] 메서드

1. 학습목표

메서드에 대해 이해할 수 있다.

2.필요 개념 문장정리

메서드

  • 메서드는 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것이다.
  • 처음에 프로그램을 설계할 때 내용이 없는 메서드를 작업단위로 만들어 놓고 하나씩 완성해가는 것도 프로그램을 구조화하는 좋은 방법이다.
  • 메서드는 선언부와 구현부로 이루어져 있다.

출처 - 자바의 정석

  • 두 변수의 타입이 같아도 변수의 타입을 생략할 수 없다. 메서드이름은 동사인 경우가 많다.
  • 반환타입이 없는 경우 반환타입으로 void를 적어야한다.
  • void가 아닌경우 return값이 반드시 포함되어야 하고 이 값의 타입은 반환 타입과 일치하거나 적어도 자동 형변환이 가능해야 한다.
  • 메서드로의 매개변수는 여러 개일 수 있어도  반환값은 최대 하나만 허용한다.
  • 매서드 내에 선언된 변수를 지역변수라 한다.

매서드 호출

  • 메서드이름(값1,값2,...); // 메서드 호출하는 방법
    int result = add(3, 5); // 메서드를 호출하고 결과를 result에 저장
  • 메서드를 호출할 때 괄호안에 지정해준 값들을 인자라고 하고 인자의 개수와 순서는 호출된 메서드에 선언된 매개변수와 일치해야 한다.
  • 인자는 메서드가 호출되면서 매개변수에 대입되므로 인자의 타입은 매개변수의 타입과 일치하거나 자동 형변황이 가능한 것이어야 한다.

출처 - 자바의 정석

  • 같은 클래스 내의 메서드끼리는 참조변수를 사용하지 않고도 서로 호출이 가능하지만 static메서드는 같은 클래스 내의 인스턴스 메서드를 호출할 수 없다.
  • 메서드를 호출하기위해서는 먼저 인스턴스를 생성한 다음 참조변수를 통해야한다.

출처 - 자바의 정석

  • 호출한 자리를 번환값이 대신하고 대입연산자에 의해 값이 변수 value에 저장된다.
  • 메서드의 결과를 저장하기 위한 변수 value역시 반환값과 같은 타입이거나 반환값이 자동 형변환되어 저장될 수 있는 타입이어야한다.

 3. 코드작성

float divide(int x, int y) {
	if(y==0) { // 작업을 하기전에 나누는 수가 0인지 확인한다.
    	System.out.println("0으로 나눌 수 없습니다.");
        return 0; // 매개변수가 유효하지 않으므로 메서드를 종료한다.
	}
    return x / (float)y;
}

 

타입만 맞으면 어떤 값도 매개변수를 통해 넘어올 수 있기 때문에 가능한 모든경우의 수에 대해 대비한 코드를 작성한다.

4. 마무리

메서드를 선언하는 것은 설계도만 만든것과 같다. 인스턴스를 만들고 메서드를 호출해서 사용해야 한다.

유효성검사의 기본을 이해할 수 있었다.