return **; 이란 무엇인가.
** 이 강의에서 핵심적으로 기억해야할것들을 정리해 보겠습니다.
메소드라는것들이 무엇인지를 배웠다면, 메소드의 출력에 대해서 우리는 공부해보아야 하는데요,
우리가 흔하게 코드에서 보는 return; 이라는 것들이 무엇인지에 대해서 궁금해하셨을것이라 생각이 듭니다.
return **; 가 뜻하는것은 메소드의 실행결과 값이 **가 된다는 뜻입니다.
동시에 그 메소드가 종료된다고 알려주는것이기도 하지요. 그래서 리턴뒤에 아무리 씨부려도 그 코드들은 죽은 코드들이 됩니다. 실행이 안돼요.
이런 메소드는 출력을 위해서 조건을 가지고 있는데요,
메소드는 메소드의 리턴값이 어떤 자료형으로 리턴되는지에 대해서 초반에 적시해주어야 합니다.
public static String ~() {} , public static int ~() {}, 와 같이 메소드는 어떤 값으로 출력이 되는것이기 때문에 그 값에 대한 자료형을 명기해주어야 해요.
근데 return 값을 지정해주지 않을 때에는 자료형의 자리에 우리가 그렇게 많이 보아왔던 public static void , void 를 써주면 됩나다.
자, 이런 메소드의 리턴값으로 출력되는 형태가 왜 중요하나? 라고 물을수 있겠지요, 영상도 점점 어려워지기도 하고. 뭔소린지도 모르고 멍때릴때도 많구요.
정신 바짝 차려 강의를 듣다보면 우리는 지금까지 항상 sysout, sout 형태로 화면에 출력하는 코드들을 중점적으로 다루었음을 보게 됩니다.
즉, 화면에 출력하는것 그 이상의 코드 재활용성이 떨어지게 된다는것이지요. 화면을 출력하는 것으로 끝난거니까요 그친구는.
그런데, 리턴값을 가지는 메소드는 sysout형태로 존재하는것이 아니라 하나의 "값"으로 존재하기 떄문에 어디다가 가져다가 써도 만사 오케이의 재활용성을 확보하게 됩니다.
그래서 여러군데서 쓸 수 있는거고, 강의에서 보여주신 예시는 이런 값들이 실제로 이렇게 쓰일 수 있다는것을 보여주신겁니다.
그래서 정리를 좀 하자면,
1. 메소드는 입력값이 있습니다. 그리고 그것을 처리해서 출력해줍니다.
2. 이런 출력을 위해서 사용하는 핵심 키워드는 return 이고, 이런 리턴에서 사용되는 값의 자료형을 앞서 메소드가 시작될때 명기해주어야 합니다. (리턴값 지정 안해줘도 되는건 void로 작성합니다.)
3. return 값을 가지고는 메소드는 메소드의 재사용성이 높아집니다.
'⚙️ Backend > JAVA' 카테고리의 다른 글
JAVA - Clone에 관하여.. (0) | 2020.11.30 |
---|---|
JAVA(자바) - 인스턴스 변수와 클래스 멤버 변수 (0) | 2020.11.13 |
JAVA(자바) - 매개변수 / 생성자 (0) | 2020.11.11 |
JAVA(자바) - 상속(Inheritance) (0) | 2020.11.09 |
JAVA(자바) - 클래스와 객체 (0) | 2020.11.09 |
댓글