생활코딩

Coding Everybody

코스 전체목록

닫기

메소드의 출력

수업소개

메소드를 실행시켰을 때 그 결과가 값이 되도록 할 수 있다면 메소드는 아주 많은 곳에서 사용할 수 있게 됩니다. 여기서는 return 키워드를 이용해서 메소드를 어떤 값의 표현식이 되도록 하는 방법을 살펴보겠습니다.

 

 

 

강의

소스코드

public class OutputMethod {
    
	public static String a() {
		// ... 
		return "a";
	}
	
	public static int one() {
		return 1;
		//...
	}

	public static void main(String[] args) {

		System.out.println(a());
		System.out.println(one());
		
	}

}

 

댓글

댓글 본문
  1. 당당
    2023.04.19
  2. labis98
    20230202 완료
  3. 자바뿌시기
    23.01.05
  4. Min Jupiter
    221227
  5. egorae
    어렵다,, 근데 할수있다
  6. 보통사람 박코딩
    할수있다
  7. 후토마끼
    22.10.11
  8. whoami
    22.9.12 완료
  9. 제이드
    
    public static void printTwoTimes(String text, String delimiter) {

    System.out.println(delimiter);

    System.out.println(text);

    System.out.println(text);.

    위의 이 printTwoTimes 이건 내부적으로 sysout라는 출력 기능까지 포함하고 있어서, 실행 결과를 파일에 쓰고 싶다고 하면 따로 코드를 적어 줘야 함.

    FileWriter fw = new FileWriter("output.txt");

    fw.write(delimiter+"\n");

    fw.write(text+"\n");

    fw.write(text+"\n");

    fw.close();


    그러니까.. 연산 결과를 어떻게 쓰냐에 따라 메쏘드를 계속 만들어야되는 상황이 연출됨... 그러므로 편하고 실용적으로 가기 위해서 twoTimes라는 메쏘드를 만들고, 걔는 리턴값으로 아웃풋이 값이 되게 하여 여기저기서 재사용 되도록 함. 또한 return 뒤의 값이 메쏘드 실행 값이 됨. 또한 return은 메쏘드를 종료시키는 의미가 됨. 그러므로 retun 뒤에 아무리 뭐라 시부렁거려도 실행 안됨. 또한 리턴값이 뭔지도 정해줘야 됨(void, int, string..)


    public static String twoTimes(String text, String delimiter) {

    /// ↳리턴값이 스트링인 메쏘드를 만들때는 public static String a() { 로 시작하는 것, 인티져인 메쏘드는? public static int one() {

    String out = "";

    /// ↳out이라고 하는 텍스트를 만들었고

    out = out + delimiter + "\n";

    /// ↳out이라고 하는 텍스트에 delimiter을 추가하고 줄바꿈 기호 추가

    out = out + text + "\n";

    /// ↳out은 기존의 out 더하기 text 더하기 줄바꿈 기호

    out = out + text + "\n";

    /// ↳out은 기존의 out 더하기 text 더하기 줄바꿈 기호

    return out;

    /// ↳최종의 out을 return

    }

    얘는 보면 println이 없음 즉 화면에 출력하는 기능이 없! 단지 얘를 불러올 때 sysout(twoTimes)로 쓸거여. 그러니까 저 위의 코드는 더 자율성이 높아 파일에 저장시키는 등 여러 곳에서 쓰일 수 있음.



    정리:: 메쏘드는 입력값이 있고, 그걸 처리해서 출력해준다. 출력하는 핵심 키워드는 리턴이고, 어떤 데이터 타입을 리턴할지 직접 적어 주어야 함.
  10. 센과침대로
    다시듣기
  11. economin
    - 최종적으로 return 값을 받는 것—>return은 끝마치는 역할을 함.
    - method는 return값의 데이터 형태를 맞추어야함.
    - 특수하게 void는 return값이 없음.
  12. 육도
    2022.05.13 완료
  13. 열정jk
    220220 감사합니다
  14. 나연
    2022년 2월 12일 (토) 완료

    ```java
    // Return type: String
    public static String getA() {
    return "a";
    }

    // Return type: int
    public static int get1() {
    return 1;
    }

    // No return value: void
    public static void main(String[] args) {

    System.out.println(getA());
    System.out.println(get1());

    }
    ```
  15. 김나루
    22-01-24
  16. 김보노
    22-01-22
  17. 초보자바
    22-01-13
    return 뒤의 값이 그 메소드의 실행 결과가 된다.
    return은 메소드를 종료하므로 그 뒤의 기능들은 실행되지 않는다.
  18. 주간식당메뉴
    21.11.5.
  19. 3초컷
    1005
  20. 2021.08.28 완료
  21. labis98
    20210812 완료~~~!
  22. 이마누
    완료
  23. super1Nova
    210807
  24. Jaemin Lim
    21.07.24
  25. B=loom
    2021.07.18
  26. 초딩 개발자
    2021/06/23
  27. jeisyoon
    2021.05.01 Method Output (Return) - OK
  28. anya422
    done~
  29. Sunho Kim
    완료(2021.04.18.일)
  30. 돌이크다
    string out = "" 의 out은
    return out의 out 에 영향을 미치는 건가요..?
  31. 레이
    21.04.13
  32. chimhyangmoo
    21.04.09
  33. 김우중
    감사합니다
  34. erttr
    감사합니다ㅠㅠ
    대화보기
    • boat
      감사합니다!
    • oyuiw
      20201213
    • 안광민
      return을 통해 method가 return 뒤의 값이 되게 한다. 그러면 이 값을 다양한 곳에 적용할 수 있다.
      return 값이 method의 실행결과가 되고, return값은 method를 종료하는 역할을 하기도 한다.
      method에 return 값의 데이터 타입을 정해주어야 한다.

      void라는 것은 return 값이 없다는 것이므로 return 값이 없는 method를 만들 때 사용한다.

      완료
    • 싱와
      ** 이 강의에서 핵심적으로 기억해야할것들을 정리해 보겠습니다.

      메소드라는것들이 무엇인지를 배웠다면, 메소드의 출력에 대해서 우리는 공부해보아야 하는데요,

      우리가 흔하게 코드에서 보는 return; 이라는 것들이 무엇인지에 대해서 궁금해하셨을것이라 생각이 듭니다.
      return **; 가 뜻하는것은 메소드의 실행결과 값이 **가 된다는 뜻입니다.
      동시에 그 메소드가 종료된다고 알려주는것이기도 하지요. 그래서 리턴뒤에 아무리 씨부려도 그 코드들은 죽은 코드들이 됩니다. 실행이 안돼요.

      이런 메소드는 출력을 위해서 조건을 가지고 있는데요,

      메소드는 메소드의 리턴값이 어떤 자료형으로 리턴되는지에 대해서 초반에 적시해주어야 합니다.
      public static String ~() {} , public static int ~() {}, 와 같이 메소드는 어떤 값으로 출력이 되는것이기 때문에 그 값에 대한 자료형을 명기해주어야 해요.
      근데 return 값을 지정해주지 않을 때에는 자료형의 자리에 우리가 그렇게 많이 보아왔던 public static void , void 를 써주면 됩나다.

      자, 이런 메소드의 리턴값으로 출력되는 형태가 왜 중요하나? 라고 물을수 있겠지요, 영상도 점점 어려워지기도 하고. 뭔소린지도 모르고 멍때릴때도 많구요.

      정신 바짝 차려 강의를 듣다보면 우리는 지금까지 항상 sysout, sout 형태로 화면에 출력하는 코드들을 중점적으로 다루었음을 보게 됩니다.
      즉, 화면에 출력하는것 그 이상의 코드 재활용성이 떨어지게 된다는것이지요. 화면을 출력하는 것으로 끝난거니까요 그친구는.

      그런데, 리턴값을 가지는 메소드는 sysout형태로 존재하는것이 아니라 하나의 "값"으로 존재하기 떄문에 어디다가 가져다가 써도 만사 오케이의 재활용성을 확보하게 됩니다.
      그래서 여러군데서 쓸 수 있는거고, 강의에서 보여주신 예시는 이런 값들이 실제로 이렇게 쓰일 수 있다는것을 보여주신겁니다.

      그래서 정리를 좀 하자면,
      1. 메소드는 입력값이 있습니다. 그리고 그것을 처리해서 출력해줍니다.
      2. 이런 출력을 위해서 사용하는 핵심 키워드는 return 이고, 이런 리턴에서 사용되는 값의 자료형을 앞서 메소드가 시작될때 명기해주어야 합니다. (리턴값 지정 안해줘도 되는건 void로 작성합니다.)
      3. return 값을 가지고는 메소드는 메소드의 재사용성이 높아집니다.
    • 포기금지
      메소드는 입력 값이 있고, 그것을 처리해서 출력해 준다.
      출력해주는 핵심적인 키워드는 retrun이다.
      *retrun을 사용할 때 인자를 어떤 데이터 타입으로 출력 시킬 것인지 입력해 주어야한다.
    • 선대범
      return의 자료형을 void대신에 쓴다.
    • Jeongwon
      쌍따옴표 안에 공백 문자를 넣으면 공백 문자를 가진 문자열이 될 것이고, 여기에서는 out이라는 String 변수를 초기화할 목적으로 공백 없이 ""; 이렇게만 쓴 것 같아요.
      대화보기
      • hyuna lee
        감사합니다.
      • 넘무
        String out ="";
        이렇게 하면 빈칸인 문자열이 되는건가요?
      • christinelee
        06192020 어렵네요......흑흑
      • Phill
        감사합니다.
      • yyrr
        완료
      • 임지수
        2020.01.31 완료
      • serina
        이번 강의는 왜이렇게 이해도 안되고 집중도 어려운지 ㅠㅠ두번봐도 여전하네요. 일단 다음 강의 듣고 다시 들어보려구요!
      • 라또마니
        아~ 보긴 했는데 , 드디어 강의 도중 딴 생각을 하고 있네요... 어렵나봐요~~
      • 이기호
        강의 감사합니다!
      graphittie 자세히 보기