Java의 반환 유형은 무엇입니까? 어떻게 사용 되나요?


최상의 답변

  • 더하기를 수행하는 경우 반환 유형은 입니다. int .
  • 사용자 이름을 반환하려면 반환 유형은 String 입니다.
  • 일부 데이터가 포함 된 배열 목록을 반환하려면 배열 목록 이됩니다.
  • 원하는 경우 연결 성공 여부는 부울 을 반환합니다.

예 1 :

// Return type int

public function int doSomething () {

int a = 5;

int b = 4;

int c = a * b;

return c; // type int //

}

예 2 :

// 반환 유형 문자열

공용 함수 String doSomething () {

String a = “First NAme”;

문자열 b = “마지막 이름”;

문자열 c = a + b; // 연결

return c; // type 문자열 // O / P => 이름 성

}

예 3 :

// 반환 유형 ArrayList

공용 함수 ArrayList doSomething () {

ArrayList list = new ArrayList ();

String a = “First NAme”;

String b = “LAST NAme”;

list.add (a);

list.add (b);

반환 목록; // type ArrayList // O / P => [First Name Last Name]

}

반환 유형 사용자 정의 클래스 객체라도 모든 유형이 될 수 있습니다. 예 : return objStudent; (반환 유형은 일부 클래스 Student이고 objStudent는 해당 클래스의 객체입니다.

Answer

답변 한 다른 사람들은 저보다 경험이 많지만 시도해 보겠습니다.

자바에는 기본 유형과 참조 유형 이라는 두 가지 유형의 변수와 메소드가 있습니다. 그러나 메소드에는 참조, 또는 void 의 반환 유형. 이들 중 하나를 포함하지 않으면 코드가 컴파일되지 않습니다.

[참고 : 여기서는 생성자에 대해 논의하지 않습니다. 개인적으로 생성자를 “특수 메서드”라고 부르는 것을 선호하지 않습니다. 일부 프로그래머는 메서드라는 용어를 사용하여 생성자를 포함합니다. “오해가 아니라면 생성자를”특수 메소드 “라고 부르는 Oracle Java 문서를 기억합니다.]

기본 유형

다음은 byte, short, int, long, float, double, char 및 boolean의 8 가지 대소 문자 구분 기본 유형입니다. [String 기본 유형이 아닙니다. 이것은 참조 유형입니다.] 메소드는 다음 코드 스 니핏에서와 같이 이들 중 하나를 반환하거나 아무것도 반환하지 않을 수 있습니다 (void).

balance = getAccountBalance();

/* Method getAccountBalance() below is going to subtract a fee of 1.50 before returning our balance. */

double getAccountBalance()

{

balance = balance - 1.50;

return balance;

}

/* The variable balance must have a type that matches double because the return type of method getAccountBalance() is double. Otherwise, we get a compile error. */

우리의 메서드는 값을 전혀 반환 할 필요가 없습니다. 형식을 반환하지 않는 메서드에는 void라는 형식이 있어야합니다. 메서드의 반환 유형으로 void를 포함하면 Java는 아무것도 반환되지 않을 것으로 예상합니다. 반환 (편집 : 5 월 27 일)을 포함하면 type 이 실패하게됩니다. 일부 프로그래머는 메서드의 반환 유형이 void 일 때 반환 문 “ return; “을 배치합니다.이 코드는이를 준수합니다.

여기 ” 반환 유형이 void 인 메서드의 예입니다. (그런데 public, private 및 protected 와 같은 단어를 액세스 수정 자라고합니다. 단순화를 위해 이러한 액세스 수정자를 의도적으로 생략했습니다.)

double balance = 275.00;

makeDeposit( 65.00 );

void makeDeposit( double deposit )

{

balance = balance + deposit;

}

/* Notice we have no return type included in the method. */

다음 코드 컴파일되지 않습니다 .

double balance = 275.00;

makeDeposit( 200.00 );

void makeDeposit( double deposit )

{

balance = balance + deposit;

return balance;

}

/* The last line "return balance" causes the code to fail to compile because the program doesn"t know what to do with the return statement. Java is expecting a return type of void, nothing. The code is returning balance, a double type. */

참조 유형

참조 유형 은 다른 모든 유형입니다. ides void 및 8 개의 기본 유형. 이러한 유형은 객체입니다. 배열, Integer, BigInteger, String, ArrayList, List, Map 및 AnyValidUserDefinedType은 참조 유형 중 일부일뿐입니다.

Let “s에서 참조 유형을 반환합니다. 아래 코드.참조 유형 (기본 유형이 아님)은 반환 값 null을 가질 수 있습니다.

int[] values = { -4, 16, -36, 0 };

values = sortArray( values );

int[] sortArray( int[] inputArray )

{

/* code to sort values */

return inputArray;

}

/* The program returns the sorted array. */

위 코드에서 inputArray라는 int []를 반환했습니다. inputArray의 유형은 sortArray () 메소드의 참조 유형과 일치합니다.

다음 코드에서 우리는 null 을 반환하도록 선택했습니다. 메서드가 String 유형을 예상했지만 참조 유형입니다. String 은 클래스 및 참조 유형이며 int, double 또는 boolean과 같은 기본 유형이 아닙니다.

/* We want to return the name only if it is short, 3 characters or fewer to be exact. */

String firstName = "Ahmad";

String shortName = getShortNames( firstName );

System.out.println("Short Name = " + shortName );

String getShortNames( String name )

{

if ( name.length() > 3 )

{

return null;

}

else

{

return name;

}

}

/* Output: null */

위 코드에서 이름의 길이가 3이면 getShortNames () 메소드는 이름의 값을 반환합니다. 그러나 우리의 경우 이름은 5 자이므로 null 값이 반환됩니다. 5 행은 null을 출력합니다.

앞서 언급했듯이 사용자 정의 클래스에서도 유형을 반환 할 수 있습니다. String, Integer, BigDecimal, Map 등과 같은 Java 라이브러리에 정의 된 클래스에 국한되지 않습니다.

기억해야 할 주요 사항 :

  • 메소드에 대한 세 가지 반환 유형; 기본 유형, 참조 유형 또는 void 중 하나를 사용해야합니다.
  • 메소드에 대해 기본 및 참조 반환 유형을 사용할 때 반환 문이 메서드 코드 블록 (중괄호 {}) 내에 포함되어야합니다. 그렇지 않으면 컴파일 오류가 발생합니다.
  • void를 메서드 반환 유형으로 사용할 때 메서드의 코드 블록에 반환 문을 포함 할 수 할 수 없습니다 . . 그렇지 않으면 코드가 컴파일되지 않습니다.
  • 참조 반환 유형이있는 메서드는 정확한 참조 유형을 가진 변수를 반환하거나 null . 기본 반환 유형이 필요한 경우 Null을 반환 유형으로 사용할 수 없습니다. 물론 반환 유형이 void 인 메서드의 반환 유형으로 null을 사용할 수 없습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다