• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

질문있습니다.!

22.07.23 07:28 작성 조회수 138

0

자바 TPC 강의 배운대로 테스트 해가면서 강의 진행하고 있었는데 궁금한 점이 생겼습니다.

Scanner sc = new Scanner(System.in);
String str = sc.next().uppercase();

Scanner클래스라는 네모 박스안에 sc에 들어간 입력값과 (Scanner 클래스 네모 박스안에 들어가 있는) 메서드들이 일렬로 나열된 것을 떠올렸습니다.

그런데 uppercase();는 스트링 클래스라는 박스안에 있는 메서드 인데 sc라는 스캐너 참조변수로 호출이 불가능해야 하지 않나요?

선생님 그림그린 것처럼 설명해실수 있을까요?

그림이 도움이 많이 됐었거든요!
(그림을 그려달라는 뜻 아닙니다 ㅎㅎㅎ)

 

박스 예시)

---------------------------------------------------------

입력값 ㅣ next() l findinLine() ㅣ ...... uppercase()??

---------------------------------------------------------

uppercase는 scanner클래스 안의 메서드가 아닐텐데요 ㅠㅠ..?

답변 2

·

답변을 작성해보세요.

0

네 리턴값이 String타입이구요 String타입의 toUpperCase()메서드가 호출되는 것입니다.

0

Scanner sc = new Scanner(System.in);
String str = sc.next().uppercase();
---------------------------------------
String str = sc.next().uppercase();
위문장에서
sc.next() ->의 next()의 리턴값이 String 입니다.
---------
   ↑
String

그리고 리턴된 String에 다시 String에서 제공되는 uppercase()메서드를 호출한거구요?
sc.next().uppercase();                         
                  ------------
                         
                       String

이해가 되셨을까요?

리턴 값이 String이라는 건 리턴 타입이 String이라는 뜻일까요 ?
System.out.println(str) 을 했을때 입력한 값이 나올텐데 입력한 값이 String은 아니니까요 맞을까요?!
그렇다면 String타입의 입력한값(참조변수)이 리턴되고 입력한 값(참조변수)으로 String의 박스(주소) 안에 있는 toUpperCase()를 실행시킨다고 보면 될까요?

아! 제가 현재 java tpc - > 나프1탄 ->  나프2탄(myBitis) 진행중입니다
나프2탄 전부 끝나고 TPC API 강의를 먼저 들을지, 스프1탄을 먼저 들을지 잘 모르겠습니다.
조언 부탁드리겠습니다..
API는 그냥 jar받아서 WEB-INF의 lib에 넣어서 jstl myBitis 활용하는 선생님께 배운 지식 외에는 없는 상황입니다..

질문이 두가지인데 부탁드리겠습니다 ㅠㅠㅠㅠ

나프시리즈는 웹분야 이기 때문에 나프2탄이후ㅡ>스프1탄을 들어도 좋겠습니다.

TPC API는 자바 API를 다양하게 실습해보는 것이라 추후에 시간이 되시면 들어보셔도 되구요^^

네 감사합니다. ! API는 이미 수강신청을 해놔서 나중에 천천히라도 다 들어야 겠네요
궁금한 점 생기면 인터넷 찾아보고 그래도 안되면 질문 또 올리겠습니다 답변해주셔서 감사합니다~

네 화이팅하시기 바랍니다.^^