묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
안녕하세요^^ 오늘 수강신청 했습니다.
혹시 강의해주시는 화면의 별도 pdf자료는없는건가요??출력해서 필기하면서 강의를 들으면 좀 더 효율적일거 같아서문의드립니다.
-
미해결김영한의 실전 자바 - 중급 2편
HashMap 질문
안녕하세요.Set<Map.Entry<String, Integer>> 이게 좀 궁금해서 살펴보니 Set<E> 제네릭으로 받게끔 되어 있고 그럼 여기서 Map.Entry<String, Integer> 이게 하나의 타입처럼 사용이 된다는 건데 Map 클래스에서 Entry는 interface로 되어 있어서요.Map.Entry라고 썼다는거는 Entry도 인터페이스(클래스)니까 중첩 static class 처럼 쓰였다는건데 static도 안 붙어 있고 관련된 구현체도 Map 클래스 내부에는 없는 거 같아서요.추가 설명 부탁드립니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 컨텍스트 프록시 오류 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)컨트롤러@PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @PreAuthorize("isAuthenticated()") public ResponseEntity<Long> createWalkInvitation( @RequestPart("walkInvitaionCreateRequestDto") WalkInvitaionCreateRequestDto request, @RequestPart("uploadPhotos") MultipartFile[] multipartFiles, @AuthenticationPrincipal PrincipalDetails principalDetails){ Long savedId = walkInvitationService.createWalkInvitation(request, multipartFiles, principalDetails); return ResponseEntity.ok().body(savedId); }서비스 계층 public Long createWalkInvitation(WalkInvitaionCreateRequestDto request, MultipartFile[] multipartFiles, PrincipalDetails principalDetails) { Member member = principalDetails.getMember(); WalkInvitation walkInvitation = WalkInvitation.builder() .writer(member) .title(request.getTitle()) .content(request.getContent()) .latitude(request.getLatitude()) .longitude(request.getLongitude()) .detailedLocation(request.getDetailedLocation()) .walkStartDateTime(request.getWalkStartDateTime()) .walkingStatus("산책 대기 중") .build(); // member.getWalkInvitations().add(walkInvitation); List<Photo> photos = photoService.savePhotosToWalkInvitation(multipartFiles, walkInvitation); walkInvitation.addPhotos(photos); walkInvitationRepository.save(walkInvitation); return walkInvitation.getId();위 주석처리 한 부분// member.getWalkInvitations().add(walkInvitation)에서 failed to lazily initialize a collection of role가 발생합니다.오류가 발생하는 이유는 JWT 토큰 방식을 구현한 스프핑 시큐리티의 인증/인가 과정에서 해당 컨트롤러에 도달하기전에 필터에서 이미 SecurityContext에 principalDetails를 authentication 하면서 principalDetails라는 객체에 member가 저장되어 있는 상태입니다.그래서 이미 서비스 계층에서 위 코드에 Member member = principalDetails.getMember();를 호출하는 시점에는 getMember 호출 시 DB에 접근해서 값을 가져오는 것이 아닌, 순수한 객체 상태의 member를 가져오기 때문에 영속성 컨텍스트에 member가 저장되어 있지 않기에 프록시 오류가 발생하는 것 같습니다(로그로 DB에 접근하지 않는 것 확인) 이러한 문제를 해결하기 위해서는 principalDetails.getMember()로 얻은 멤버정보로 DB에 저장된 Member를 다시 가져와서 영속성 컨텍스트에 저장시키는 방식을 택해야 할까요?스프핑 시큐리티의 인증/인가 과정(JwtAuthorizationFilter)에서 accesstoken을 바탕으로 이미 member를 db에서 찾아오는 쿼리문이 한번 나갔는데, 또 호출하려니 조금 비효율적인 것 같아서 고민이 됩니다. 다른 방법이 있을까요?
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
API 호출에 관해 질문드립니다 (내용보충)
안녕하세요. 현재 Rest Api로 백엔드 개발을 하고,View는 Html thymeleaf를 이용해 구현을 하려고 합니다. 리액트 등의 프레임워크를 사용하지 않는다면,@GetMapping으로 View단을 불러올 때,@RestController가 아닌 @Controller에서 불러와야하는데그렇다면 @RestController와 @Controller 둘 다 따로 만들어야 하는지 궁금합니다.예를 들어, 공지사항 전체 조회의 @RestController의 코드가// // 공지사항 전체 조회 // @GetMapping("/ypjs/board/notice/notices") // public Result findAll(@RequestParam int offset, @RequestParam int limit) { // List<Notice> noticeList = noticeService.findAll(offset,limit); // List<NoticeDto.NoticeApiDto> result = noticeList.stream() // .map(n -> new NoticeDto.NoticeApiDto(n.getNoticeId(), n.getNoticeTitle(), n.getNoticeContent(), // n.getNoticeCnt(), n.getNoticeDate(), n.getMember().getNickname())) // .collect(Collectors.toList()); // return new Result(result); // }라면,공지사항 전체 조회의 @Controller의 코드는이렇게 구현하면 되는건가요?+ 만약 이게 맞다면 @RestController의 GetMapping URL과 @Controller의 GetMapping URL이 겹치면 실행이 안되므로, @RestController의 URL을 /api/ypjs/board/notice/notices로 변경하면 될까요?그렇다면, 제 프로젝트에서 @RestController의 @GetMapping 코드는 더 이상 쓰지 않는 코드가 되는 것인데, 남겨놔도 되는건지 궁금합니다..그리고 View 연결만을 위한 @Controller 클래스를 따로 만드는 것이 현업에서도 많이 쓰이는 방법인지가 궁금합니다.----------------------------------------------------------------------------------------------------------------(질문 요약)1. 리액트 같은 프레임워크 없이 프로젝트를 Rest Api로 개발할 때, 화면만을 위한 @Controller 클래스를 따로 만들어도 되나요? 만약 이 경우에 GetMapping URL이 겹치면 안되니까 @RestController의 URL엔 /api/를 추가해서 겹치지 않게 하는 식으로 하나요?2. 다른 부분은 rest api로 개발하고, View 연결만을 위한 @Controller 클래스를 따로 만드는 것이 현업에서도 많이 사용하는 방법인가요?3. 만약 화면을 위해 @Controller 클래스를 만드는게 좋은 방법이라면, @RestController의 @GetMapping 코드는 더 이상 쓰지 않는 코드가 되는 것인데, 활용할 방법이 있을까요? + 남겨놔도 되는건가요?화면을 따로 개발하는 것이 아니라, 저처럼 같이 개발하는 경우 Rest api 개발을 하는것이 의미가 있는지 궁금합니다.Rest api 개발을 경험해보고 연습해보고싶어 백엔드단을 Rest api로 먼저 개발해서 완성하고, 프론트엔드는 프레임워크를 다루지 못해 html을 이용해 화면을 만들고 연결하는 식으로 했다!는 것이 Rest api로 프로젝트를 만드는 것에 대한 충분한 설명이 될 수 있을까요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
기능 추가시 프론트 문제
안녕하세요! 강의를 따라하며 프로젝트를 진행했더니 어느덧 배포까지 끝냈는데요 다 해보고나니 대출목록 조회나 다른 추가 기능들을 혼자 구현해보고 싶다는 생각이 들었습니다. 제가 프론트에 대한 지식이 많이 부족하고 저희 프로젝트에서는 강사님이 주신 프론트를 그대로 가져다 사용하고있기 때문에 프론트가 어떤식으로 구성되어있는지 잘 모르겠습니다..ㅠ 혹시 저희 프로젝트에서 프론트 단을 어떻게 하면 수정하거나 추가할 수 있는지 알 수 있을까요? 아니면 변경이 어렵다면 백엔드 개발자가 프로젝트를 진행하면서 간단하게 프론트를 구현할 수 있는 방법이 있을까요? 감사합니다.
-
미해결김영한의 실전 자바 - 기본편
super-생성자 강의 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.ClassA에 매개변수가 없기 때문에 명시적으로 호출하지 않아도 자동으로 호출된다고 하셨는데, 그렇다면 아래 코드에서도 명시적으로 부모 클래스를 호출하지 않아도 되지 않을까 싶어서 문의 글 남겨드립니다! 컴파일 진행 시 정상 작동되고, 생각해 보아도 왠지 필요 없을 것 같다고 생각이 들어서 질문 글 한 번 남겨드립니다! public class ClassB extends ClassA { public ClassB(int a) { this(a, 0); System.out.println("ClassB 생성자 a = " + a); } public ClassB(int a, int b) { //super(); <-생략 가능하지 않나요? System.out.println("ClassB 생성자 a = " + a + ", ClassB 생성자 b = " + b); } }
-
미해결실전! Querydsl
db 종속 insert(암복호 관련)문 관련 하여 문의드립니다.
PostgreSQL 종속된 insert쿼리를 날려야 하는데query.insert(user).columns(....)...QueryDSL 문서를 보면 컬럼에 user.name 이런식으로 넣어주라고 되어있는데Entity는 private로 생성해야 하는 걸로 아는데 어떻게 처리 해야 할지 막막합니다.사용할 쿼리는 아래와 같습니다.insert into user (user.name, user.email)value(encode(encrypt(convert_to(유저명,'utf-8'), 'key', 'aes'), 'hex'),encode(encrypt(convert_to(유저메일,'utf-8'), 'key', 'aes'), 'hex'));감사합니다.
-
미해결김영한의 실전 자바 - 기본편
VarChange1 예제 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요 다름 아니라 VarChange1 예제 관련 질문 드립니다. int a = 10int b = a 이때, a =20으로 한다면, 우선 변수 a에 20이 들어가고, int b = a이니변경된 a의 값이 복사 되어 b값이 업데이트 되어야 하는 것 아닌가요?잘 이해가 되지 않습니다. 프로그램 상 위에서부터 순차적으로 코드를 읽어, 이미 int b = a가 실행되었고, loop를 돌리거나 b = 값 과 같이 따로 적어주지 않는 이상 b의 값이 업데이트 되지 않는 것으로 이해해도 될까요?앞에서 Java - start 편에서는 이해가 되던게, 갑자기 이해가 안됩니다.
-
미해결김영한의 실전 자바 - 중급 2편
List.of 질문
안녕하세요.Arrays.asList()는 ArrayList를 반환하는 걸 확인했는데List.of()는 결과적으로 new ListN<>(tmp, false); 다음과 같은 ListN 객체를 반환하던데 이게 어떤 것인지 궁금합니다.List 구현체로 알고 있으면 될까요 ?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
합이 같은 부분 집합 문제 질문 드립니다.
안녕하세요, 강의 잘 듣고 있습니다.작성한 코드 실행 시 테스트 케이스 4번에서만 오답처리 되어 확인을 해봤습니다.4번째 테스트 케이스인 9, [3 6 13 11 7 16 34 23 12] 를 입력한 후 디버깅을 해본 결과실제로 중복집합이 발생하는 것으로 확인됐습니다.제 코드 상에 어떤 부분이 문제가 됐는지 알고 싶습니다.import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Main { static int level; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int size = sc.nextInt(); int max = 0; int dep[] = new int[size + 1]; level = size; for (int i = 1; i < dep.length; i++) { int val = sc.nextInt(); dep[i] = val; if (val > max) { max = val; } } int[] check = new int[max + 1]; Map<Integer, Integer> map = new HashMap<>(); dfs(1, check, dep, map); Collection<Integer> values = map.values(); boolean duplicate = false; for (int i : values) { if (i != 1) { System.out.println("YES"); duplicate = true; break; } } if (!duplicate) { System.out.println("NO"); } } public static void dfs(int l, int check[], int[] depth, Map<Integer, Integer> map) { if (l == level + 1) { int sum = 0; for (int i = 1; i < check.length; i++) { if (check[i] == 1) { sum += i; } } if (sum > 0) { map.put(sum, map.getOrDefault(sum, 0) + 1); System.out.println("Sum: " + sum + ", Count: " + map.get(sum)); } } else { check[depth[l]] = 1; dfs(l + 1, check, depth, map); check[depth[l]] = 0; dfs(l + 1, check, depth, map); } } }
-
미해결김영한의 실전 자바 - 중급 2편
Set문의
안녕하세요.Set관련 2가지 질문드립니다.1. 문제풀이에서 보면 Set의 내용을 출력할 때 for-each문으로 Set의 내용을 출력하였는데, 기본적인 인덱스 접근은 아닐텐데 어떻게 for-each문으로 값을 찾아서 출력이 가능한 걸까요 ?(강의에 나온대로 hashIndex를 활용한 접근이라면 어느 index에 매핑될 지 모르니 내부에 가지고 있는 배열의 capacity만큼 다 돌아야 할 거 같아서요. 그렇다면 배열의 capacity는 default인지 아닐지 모르는데 이걸 일일히 확인하고 for문을 돌린다는 것도 이상하고요.)LinkedList 때도 문의 드린 건데 Set도 보면 toString을 따로 구현체들이 오버라이딩 하고 있지 않고 set.toString()을 찍어봐도 object에서 선언한 toString()을 가리키던데 어떻게 다음과 같이 출력이 될까요 ? System.out.println(set);[20, 10, 30]아래 질문헀던 건데 답변을 못 받아서 재질문드립니다.HashSet의 toString 코드를 보다 문의사항이 있어 질문합니다. @Override public String toString() { return "MyHashSetV2{" + "buckets=" + Arrays.toString(buckets) + ", size=" + size + ", capacity=" + capacity + '}'; }다음과 같이 되어 있고 출력을MyHashSetV2{buckets=[[Member{id='hi'}, Member{id='JPA'}], [], [], [], [], [], [Member{id='spring'}], [], [], [Member{id='java'}]], size=4, capacity=10} 이렇게 하니까 Arrays.toString(buckets) 부분이[[Member{id='hi'}, Member{id='JPA'}], [], [], [], [], [], [Member{id='spring'}], [], [], [Member{id='java'}]]이 부분일텐데 따라 들어가면 toString 오버라이딩 된 형태가 toString(Object[] a) {다음과 같고 실제 스트링으로 만드는 코드는StringBuilder b = new StringBuilder(); b.append('['); for (int i = 0; ; i++) { b.append(String.valueOf(a[i]));이거인데요.여기서 말하는 a[i]는 LinkedList<Object>[] set의 각각의 인덱스에 위치한 LinkedList<Object> 일텐데 LinkedList나 상위의 List를 타고 들어가봐도 따로 toString 메서드를 살펴볼 수 없습니다. String.valueOf(LinkedList)가 어떻게 동작하는건가요 ? 출력물 보면 각 LinkedList안에 객체로 들어간 member의 toString을 출력하는 거 같기는 한데 LinkedList를 순차척으로 도는 코드를 확인 못하겠습니다.감사합니다.
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
다른 project location 설정했을때 프로젝트 찾는 방법
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/)[질문 내용]여기에 질문 내용을 남겨주세요. java-start 파일 선택후 project location 칸에 ~\Java\java-start 로 지정되어 있는데 이대로 하면 다음 에러가 뜹니다Directory 'C:/Users/yeon/Java/java-start' is already taken by the project 'java-start'. Please choose another location선생님과 같이 한 것 같은데 왜 이렇게 뜰까요? 그래서 상위폴더인 Java를 선택했는데 인텔리제이에서 프로젝트를 못 찾겠습니다.수업에서 Java-start > src 누르면 쭉 뜨는데 Main 밖에 안 뜹니다.코드를 어떻게 찾을 수 있나요??
-
미해결김영한의 실전 자바 - 중급 2편
Set toString 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
어디서 들은거 여쭤봐서 죄송합니다.
입출력 관련해서 getch putch 겟챠 풋챠 라는게 있다는데 몰라도 되는 부분일까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Api 호출과 관련된 질문드립니다.
안녕하세요. 현재 Rest Api로 백엔드 개발을 하고,View는 Html thymeleaf를 이용해 구현을 하려고 합니다. 리액트 등의 프레임워크를 사용하지 않는다면,@GetMapping으로 View단을 불러올 때,@RestController가 아닌 @Controller에서 불러와야하는데그렇다면 @RestController와 @Controller 둘 다 따로 만들어야 하는지 궁금합니다.예를 들어, 공지사항 전체 조회의 @RestController의 코드가// // 공지사항 전체 조회 // @GetMapping("/ypjs/board/notice/notices") // public Result findAll(@RequestParam int offset, @RequestParam int limit) { // List<Notice> noticeList = noticeService.findAll(offset,limit); // List<NoticeDto.NoticeApiDto> result = noticeList.stream() // .map(n -> new NoticeDto.NoticeApiDto(n.getNoticeId(), n.getNoticeTitle(), n.getNoticeContent(), // n.getNoticeCnt(), n.getNoticeDate(), n.getMember().getNickname())) // .collect(Collectors.toList()); // return new Result(result); // }라면,공지사항 전체 조회의 @Controller의 코드는이렇게 구현하면 되는건가요?+ 만약 이게 맞다면 @RestController의 GetMapping URL과 @Controller의 GetMapping URL이 겹치면 실행이 안되므로, @RestController의 URL을 /api/ypjs/board/notice/notices로 변경하면 될까요?그렇다면, 제 프로젝트에서 @RestController의 @GetMapping 코드는 더 이상 쓰지 않는 코드가 되는 것인데, 남겨놔도 되는건지 궁금합니다..그리고 View 연결만을 위한 @Controller 클래스를 따로 만드는 것이 현업에서도 많이 쓰이는 방법인지가 궁금합니다. ----------------------------------------------------------------------------------------------------------------(질문 요약)1. 리액트 같은 프레임워크 없이 프로젝트를 Rest Api로 개발할 때, 화면만을 위한 @Controller 클래스를 따로 만들어도 되나요? 만약 이 경우에 GetMapping URL이 겹치면 안되니까 @RestController의 URL엔 /api/를 추가해서 겹치지 않게 하는 식으로 하나요?2. 다른 부분은 rest api로 개발하고, View 연결만을 위한 @Controller 클래스를 따로 만드는 것이 현업에서도 많이 사용하는 방법인가요?3. 만약 화면을 위해 @Controller 클래스를 만드는게 좋은 방법이라면, @RestController의 @GetMapping 코드는 더 이상 쓰지 않는 코드가 되는 것인데, 활용할 방법이 있을까요? + 남겨놔도 되는건가요?화면을 따로 개발하는 것이 아니라, 저처럼 같이 개발하는 경우 Rest api 개발을 하는것이 의미가 있는지 궁금합니다.Rest api 개발을 경험해보고 연습해보고싶어 백엔드단을 Rest api로 먼저 개발해서 완성하고, 프론트엔드는 프레임워크를 다루지 못해 html을 이용해 화면을 만들고 연결하는 식으로 했다!는 것이 Rest api로 프로젝트를 만드는 것에 대한 충분한 설명이 될 수 있을까요?
-
해결됨김영한의 실전 자바 - 기본편
[배열 도입 - 리펙토링] 향상된 for문질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요. 🙂 ClassStart5 클래스에서 향샹된 for문으로 만 사용하려고 하는데 Students s와 같은 변수를 담아둔다고 헀을 때 아래 코드처럼 해야 실행이되더라구요, package class1; public class ClassStart5 { private static int i; public static void main(String[] args) { Student student1 = new Student(); // 학생을 담아둘 수 있는 변수를 선언 student1.name = "학생1"; student1.age = 15; student1.grade = 90; Student student2 = new Student(); student2.name = "학생2"; student2.age = 16; student2.grade = 80; Student[] students = {student1, student2}; for (Student student : students) { Student s= students[i]; System.out.println("이름: " + s.name+ " 나이: " + s.age + " 성적:" + s.grade); } } }다만 자꾸 컴파일 에러가 나서 확인해보니 위의 private static int i; 코드 때문인거 같은데 별도 선언을 해줘야하는 이유를 정확히 알수 있을까요? s 변수에 담아두지 않고 아래처럼 해도 int i를 선언해야 하는 거 같습니다.코딩자체가 입문이라 장황하게 문의드린 점 양해부탁드리며 답변 기다리겠습니다. 감사합니다! Student[] students = {student1, student2}; for (Student student : students) { System.out.println("이름: " + students[i].name+ " 나이: " + students[i].age + " 성적:" + students[i].grade);
-
미해결김영한의 실전 자바 - 중급 2편
LinkedList toString 질문
안녕하세요.HashSet의 toString 코드를 보다 문의사항이 있어 질문합니다. @Override public String toString() { return "MyHashSetV2{" + "buckets=" + Arrays.toString(buckets) + ", size=" + size + ", capacity=" + capacity + '}'; }다음과 같이 되어 있고 출력을 MyHashSetV2{buckets=[[Member{id='hi'}, Member{id='JPA'}], [], [], [], [], [], [Member{id='spring'}], [], [], [Member{id='java'}]], size=4, capacity=10} 이렇게 하니까 Arrays.toString(buckets) 부분이 [[Member{id='hi'}, Member{id='JPA'}], [], [], [], [], [], [Member{id='spring'}], [], [], [Member{id='java'}]]이 부분일텐데 따라 들어가면 toString 오버라이딩 된 형태가 toString(Object[] a) {다음과 같고 실제 스트링으로 만드는 코드는 StringBuilder b = new StringBuilder(); b.append('['); for (int i = 0; ; i++) { b.append(String.valueOf(a[i]));이거인데요.여기서 말하는 a[i]는 LinkedList<Object>[] set의 각각의 인덱스에 위치한 LinkedList<Object> 일텐데 LinkedList나 상위의 List를 타고 들어가봐도 따로 toString 메서드를 살펴볼 수 없습니다. String.valueOf(LinkedList)가 어떻게 동작하는건가요 ? 출력물 보면 각 LinkedList안에 객체로 들어간 member의 toString을 출력하는 거 같기는 한데 LinkedList를 순차척으로 도는 코드를 확인 못하겠습니다.감사합니다.
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
MacOS m3 인텔리제이 설치
intel로 설치하면 아예 앱 자체가 뜨지 않아 밑에 Apple Silicon으로 설치하니 앱은 뜨지만 이런 창이 생겨 설치를 못하고있습니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
21버전 다운이 안됩니다. Select Home Directory for JDK오류
[질문 내용]21버전을 다운받으려고 하는데 어떤 디렉터리를 선택해도 안된다고 나와서 설치를 못하고 있습니다.. 어떻게 해야할까요??
-
미해결김영한의 실전 자바 - 중급 1편
intValue를 통한 언박싱과 래퍼 클래스의 toString 과 관련한 질문입니다.
우선 전체적인 질문부터 말씀드리면 래퍼클래스를 언박싱할땐 기본형을 꺼내고 출력시엔 무조건 문자형으로 출력하게 되는걸까요? 기본형을 박싱하게 되면 valueOf를 사용하게 되는데 결국 괄호 안의 객체를 String 객체로 생성하는거잖아요...?언박싱은 래퍼 클래스에 들어있는 기본형 값을 다시 꺼내는 메서드인데 그럼 이 메서드를 사용하면 int형을 꺼내게 되는거고 또 출력할 땐 이것과 다르게 재정의 된 toString이 작동해서 숫자가 아닌 문자형 숫자로 출력하게 되는건가요?=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.