다른 분들이 어려워 하시는 부분이. 메소드를 출력값을 정해 줘야. 파일로 만들거나 이메일로 전송이 가능해 진다는 부분 부터 인 것 같아요. 리턴 값을 지정 해 주지 않으면 다른 클래스에서 불러 올 수가 없는건가요? 지금 코드에서 그러면 자바가 먼저 prinln 으로 twoTimes 인자인 "a" "-" 먼저 출력하고. import 해온 FileWriter 인스턴스 화 시켜서 (지금 사용하는 클라스 안에다 복사 해서) fw.write (여기서 이 write는 Filewriter 안에 있는 메소드인거죠?) 그 안에다가 우리가 만든 twoTimes 메소드 콜한다음에 인자 또 넣어주고. 그럼 우리가 만드는 텍스트의 인자는 "a" 그리고 "*" 인거네요.
질문있습니다. public static void main(String[] args) throws IOException { System.out.println(twoTimes("a", "*")); public static String twoTimes(String text, String delimiter) { String out = "123"; 으로 바꾸면 out = out + delimiter + " "; out = out + text + " "; out = out + text + " "; return out; 의 출력값이 123* a a 로 나오는데 String out을 문자열 123이라고 지정했으니 123* 123a 123a 로 나올 줄 알았는데 아닌 이유는 뭘까요? return out;에서 out은 어디로 리턴되는 건가요? 10:15 - a a
오잉또잉해서 생각해봤는데 이게 결국 out을 하나로 만들어서 출력하는?거라서요 Strig out = "123";이라고 한건 초기값? 같은거구 out = out + delimiter + " "; 의 결과는 123* 이잖아요, 그럼 out의 값이 123이 아니라 123* 이 된거예요. 그러고 또 out = out + text + " ";을 하면 현재 out의 값인 123* 에 text값인 a와 줄바꿈을 더해준거니 out은 다시 (123* ) + (a )이 됩니다. 마지막으로 out = out + text + " ";을 하면 out은 (123* ) + (a ) + (a )이 됩니다. 이렇게 만들어진 out을 최종적으로 return하면 123* a a 로 출력이 되는게 맞는 것 같아요! 지금은 이미 아실 것 같지만 저도 순서때문에 헷갈려서 이해해보려고 답글 남겨보았어요ㅎㅎ
05:20 return은 메소드를 끝낼 때 사용한다. 또 메소드는 그 메소드의 return값이 어떤 데이터 타입인지 적어주어야 한다. 07:20 System.out.println(twoTimes("a","-")); 왜 괄호안에 메소드명twoTimes이 오고 그 안에 인자값("a","-")이 들어가는지. 설명은 따로 없지만 대충 이렇게 부품화 시켜서 썼다.
두번째 질문은, 현재 twoTimes 메소드 내부에는 출력할 수 있는 방법이 없기 때문이에요. 때문에 ...println(twoTimes()) 를 사용해서 "나는 twoTimes 메소드를 출력할거야" 라고 컴파일러에게 알려주고, "twoTimes 메소드 안에 들어가는 text 값에는 a 가 들어갈거고, delimeter 값에는 - 가 들어갈거야" 라는 의미로 인자값 "a", "-" 를 넣어주는거죠. 이후에 각각 인자값을 넣어준 out 변수를 return 해서 돌려주고요. 즉, System.out.println(twoTimes("a", "-")); 는 // 출력할거야 // 이 메소드 안에 // 이 값을 대입해서 라는 의미인거죠. 이미 공부하셔서 충분히 아시겠지만, 제 스스로에게 정리하는 의미로 적어봤어요.
지켜보세요 라는 말이 나온 이후 갑자기 단계를 훌쩍 뛰어넘은 느낌이 듭니다. . .
그냥 메소드 만들때 return을 쓰면 다양한데 쓸수있다는거 정도만 이해하고 넘어갈게요..
//메소드 출력 : RETURN이 가장 중요. 리턴값이 재사용될 수 있게 함.
// public static 리턴데이터타입 메소드이름 (매개변수타입, 매개변수)
// void : 리턴값이 없음.
// return 뒷 값이 출력값.
다른 분들이 어려워 하시는 부분이. 메소드를 출력값을 정해 줘야. 파일로 만들거나 이메일로 전송이 가능해 진다는 부분 부터 인 것 같아요.
리턴 값을 지정 해 주지 않으면 다른 클래스에서 불러 올 수가 없는건가요?
지금 코드에서 그러면 자바가 먼저 prinln 으로 twoTimes 인자인 "a" "-" 먼저 출력하고.
import 해온 FileWriter 인스턴스 화 시켜서 (지금 사용하는 클라스 안에다 복사 해서) fw.write (여기서 이 write는 Filewriter 안에 있는 메소드인거죠?) 그 안에다가 우리가 만든 twoTimes 메소드 콜한다음에 인자 또 넣어주고.
그럼 우리가 만드는 텍스트의 인자는 "a" 그리고 "*" 인거네요.
영상 3번 보고 작성자분의 글을 읽으니 이해했습니다.
감사합니다!
지금까지 들었던 생활코딩 자바 강의 중에서 제일 어렵네요 ㅜㅜ 일단 끝까지 완주부터 해보겠습니다
6분이후부터 뇌에 지각변동이 일어나는걸 느꼈어요 나름 이해력 좋은편이라 생각했는데 자만이었네요 ㅎㅎ... 이해가 갈듯말듯ㅠㅠ
리턴값을 써서 메소드를 만들면 그 메소드는 값 그 자체로서 여러곳에서 더 다양하게 쓸수있다.
그 자체로서 여러곳에서 더 다양하게 쓸수있다.
String out = ""; 에 "";는 왜 해야 하는 건가요?
그리고 out = 값을 이미 대입 했는데 , 3개의 out이 나올 수 있는 건가요?
6분이후로 아무리 봐도 이해가 안간다;;;;;
1. 리턴 뒤에 있는 값이 메소드 실행 결과가 된다. 그리고 리턴은 메소드를 종료시키는 역할을 한다.
2. 리턴 값에 맞춰서 데이터 타입을 정해줘야한다.
3. void는 리턴값이 없다는 것을 의미한다.
출력에 있어서 가장 중요한 키워드는 return이다.
리턴은 메소드의 결과를 메소드가 호출 될때 보내고. 또 리턴은 메소드를 종료 시키는 역활도 한다. 리턴이 사용 되면 이 후 메소드의 내용물은 실행이 되지 않는다. 리턴할 값의 데이터형식을 지정해 줘야한다. void 라고 써 있다면 리턴값이 없다는 것이다.
6:07을 기준으로 걸음마를 하다가 갑자기 뒤에서 채찍이 날아와 어서 뛰라는 듯한 느낌이네요 ㅋㅋㅋㅋㅋㅋ 그래도 꾸준히 배워보겠습니다
세상은 더 거칠다구!
꾸준한 속도로 달려나가겠습니다 강의 제공 감사드립니다^^
ㅇㅁㅇ.........!!!
여러분 화이팅!
ㅋㅋㅋ
리턴은 왜 쓸까? 02:30 메소드의 결과값이 여기저기서 재사용할 수 있도록 하기 위해
감사해요
return부터 무슨말인지 모르겠네요 ㅠㅠ
질문있습니다.
public static void main(String[] args) throws IOException {
System.out.println(twoTimes("a", "*"));
public static String twoTimes(String text, String delimiter) {
String out = "123"; 으로 바꾸면
out = out + delimiter + "
";
out = out + text + "
";
out = out + text + "
";
return out;
의 출력값이
123*
a
a
로 나오는데 String out을 문자열 123이라고 지정했으니
123*
123a
123a
로 나올 줄 알았는데 아닌 이유는 뭘까요?
return out;에서 out은 어디로 리턴되는 건가요?
10:15
-
a
a
오잉또잉해서 생각해봤는데 이게 결국 out을 하나로 만들어서 출력하는?거라서요
Strig out = "123";이라고 한건 초기값? 같은거구
out = out + delimiter + "
"; 의 결과는 123*
이잖아요, 그럼 out의 값이 123이 아니라 123*
이 된거예요. 그러고 또
out = out + text + "
";을 하면 현재 out의 값인 123*
에 text값인 a와 줄바꿈을 더해준거니 out은 다시 (123*
) + (a
)이 됩니다. 마지막으로
out = out + text + "
";을 하면 out은 (123*
) + (a
) + (a
)이 됩니다.
이렇게 만들어진 out을 최종적으로 return하면
123*
a
a
로 출력이 되는게 맞는 것 같아요!
지금은 이미 아실 것 같지만 저도 순서때문에 헷갈려서 이해해보려고 답글 남겨보았어요ㅎㅎ
@@ghy6575 와 님 천재세요? ㄷㄷ;;
몇시간째 이 문제때매 방황했는데 바로 이해 됐어요. 감사합니다 ㅎㅎ
@@ghy6575 (123*
) + (a
) + (a
) 이렇게 되면 최종 값은
123*
123a
123a
이게 맞지 않나요?? 왜 저는 이해가 안되죠 ㅜㅜ
와... 알았어요 왜 이렇게 복잡하게 생각했나 싶네요.. 감사합니다!
@@ghy6575 와 이해력도 이해력이신데, 그걸 풀어서 설명하는 능력이 정말 뛰어나신듯...
억ㅋㅋ 전편에서 감 잡았다 요놈했는데 ㅠㅡㅠ
return a;
a를 메소드 결과 값으로 리턴하고 함수를 종료한다.
메소드의 앞에 메소드의 리턴 값이 어떤 타입인지 적어줘야 한다.
5:32
05:20
return은 메소드를 끝낼 때 사용한다.
또 메소드는 그 메소드의 return값이 어떤 데이터 타입인지 적어주어야 한다.
07:20
System.out.println(twoTimes("a","-"));
왜 괄호안에 메소드명twoTimes이 오고 그 안에 인자값("a","-")이 들어가는지.
설명은 따로 없지만 대충 이렇게 부품화 시켜서 썼다.
두번째 질문은,
현재 twoTimes 메소드 내부에는 출력할 수 있는 방법이 없기 때문이에요.
때문에 ...println(twoTimes()) 를 사용해서 "나는 twoTimes 메소드를 출력할거야" 라고 컴파일러에게 알려주고,
"twoTimes 메소드 안에 들어가는 text 값에는 a 가 들어갈거고, delimeter 값에는 - 가 들어갈거야" 라는 의미로
인자값 "a", "-" 를 넣어주는거죠. 이후에 각각 인자값을 넣어준 out 변수를 return 해서 돌려주고요.
즉, System.out.println(twoTimes("a", "-")); 는
// 출력할거야 // 이 메소드 안에 // 이 값을 대입해서
라는 의미인거죠.
이미 공부하셔서 충분히 아시겠지만, 제 스스로에게 정리하는 의미로 적어봤어요.