public Object set(int index, Object element) { Object oldValue = get(index); elementData[index] = element; return oldValue; } public void add(Object e) { elementData[size] = e; size++; } System.out.println(list.size()); 3 System.out.println(list.set(3, "r")); System.out.println(list);System.out.println("==범위 초과=="); list.add("d"); 아래 출력결과에서, 3 null [a, b, c] size=3, capacity=5 set(int index, Object element) { elementData[3] ="r"을 할당하는게 [a, b, c,r] 안 된게 이해가 안가는게, list.add("d") add(Object e) { 에서 elementData[3] = "d" 똑같은 코드인데, "d"를 넣어준거는 할당이 되고, AI 에게 질의한 결과 set메서드는 index 3에 값이 무조건 유효값이 있어야 할당이 된다고 답변 하는데, set이나 add 나 그럼 add의 값은 할당이 된건데, set메서드에 유효값이 있어야 한다는 조건이 왜 붙는건지, 각각의 메서드 안에는 elementData[3] ="r" elementData[3] = "d" 같은걸 수행하는데, set에만 해당 index에 유효값이 있어야 한다 조건문은 코드에 있지 않은데, list.set(3, "r") r도 [a, b, c,r] 할당이 되야 될거 같은데(제 생각에는) 질문을 남겨봅니다. ai 한테 답변 받았지만 풀리지 않아 질문 드립니다. 항상 감사합니다. ==범위 초과== [a, b, c, d] size=4, capacity=5
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의에서 나오는 예제에서는 Item 테이블을 두고, 하위 테이블인 Album, Book, Movie 테이블을 생성하여 상속하는 구조로 하고 있는데요. 실무에서는 상품 종류가 한두가지가 아니라 수백개, 수천개가 될텐데 그러면 이러한 테이블을 전부 만드나요? 예를 들면, 쿠팡 같은 쇼핑몰에서는 음식 뿐만 아니라 컴퓨터, 마우스,모니터, 커피, 프로틴, 과일, 연필, 물 등등 상품 종류가 어마어마하게 많은데 이를 어떻게 관리하는지 궁금합니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] (Hibernate6버전 쓰고 있습니다.) 1. 페치 조인 JPQL select t from Team t join fetch t.members 2. 명시적 내부 조인 JPQL select t,m from Team t inner join t.members m 위 JPQL을 실행하면 같은 SQL 쿼리가 실행됩니다. fetch join이 명시적 inner join과 다른 이점이 뭔가요? fetch join을 썼을 때, List<Team>으로 결과를 받고 중복없이 Team에 속한 members 리스트가 조회됐습니다. 예를 들면, 팀A -> 회원1 -> 회원2 inner join을 썼을 때, List<Object[]>로 결과를 받고 Team과 Member가 쌍을 이뤄서 조회됐습니다. SQL 조회결과처럼 Team이 중복되어 출력됐습니다. 팀 A, 회원1 팀 A, 회원2 팀이 중복되지 않고 한번만 출력된다. Object[] 타입으로 안다뤄도 되니 결과를 처리할 때 편하다. 이 외에 다른 이점이 있나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. gradlew build가 제대로 되지 않습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 0으로 하셨다가 1로 변경하신 이유가 이해가 안 됩니다 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] <영한님 코드> public static void printV2 ( Shuttle < ? extends BioUnit > t1) { BioUnit unit = t1. out (); System .out. println ( "이름: " + unit. getName () + ", HP: " + unit. getHp ()); } <제 코드> public static void printV2(Shuttle<? extends BioUnit> shuttle) { shuttle.showInfo(); } 저는 매개변수 shuttle이 어차피 Shuttle 타입으로 넘어온다고 생각해서 바로 shuttle에서 작성한 메서드를 사용했는데, 제가 생각하는게 맞는지, 또 t1.out()에서 반환되는 값을 받아서 사용하는 것이 더 이점이 있는지 궁금합니다!
안녕하세요 섹션2 C언어 파트에서 함수와 재귀함수 강의 중 질문 있습니다. 포인터를 입력값으로 받는 함수 예시 중에서, 입력값으로 char *str으로 되어있고 이거는 주소값을 저장하는 포인터 변수인데 printf 로 출력할 때 str이 주소값이 아니라 문자열인가요?? %s\n 이라서 그런가요? myString[] 이 가지고 있는 가장 첫번째 값의 주소가 전달되었다고 하는데 "입력된 문자열 :" 뒷부분에 주소값이 아닌 문자열이 출력되는 이유를 모르겠습니다....ㅠ 주소값이 저장되는 변수인 포인터 변수가 들어오는 거면 저장된 값이 주소값인 거로 이해되는데 출력은 문자열이라서 이 포인트가 이해 안 돼요.. 그리고 보다보니 의문이 생겨서 질문 하나 더 있습니다! main() 실행함수 안에서 char myString[] = "this is String"; 하고 printString메서드 호출할 때 printString(myString[]) 이 아닌 printString(myString) 배열 []를 빼주고 이름만 써주는 걸까요?! 같이 설명해 주시면 감사하겠습니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] ItemService 테스트 코드입니다. @RunWith(SpringRunner.class) @SpringBootTest @Transactional public class ItemServiceTest { @Autowired ItemRepository itemRepository; @Autowired ItemService itemService; @Test public void 상품저장() throws Exception { //given Item item = getItem("JPA book", 10000, 100); itemService.save(item); //when Item findItem = itemService.findById(item.getId()); //then // assertThat(item).isEqualTo(findItem); assertEquals(item, findItem); } @Test public void 상품조회() throws Exception { //given Item item1 = getItem("JPA book1", 10000, 100); Item item2 = getItem("JPA book2", 20000, 100); itemService.save(item1); itemService.save(item2); //when List<Item> findAll = itemService.findAll(); Item findItem1 = itemService.findById(item1.getId()); //then assertThat(findAll.size()).isEqualTo(2); //전체조회 assertThat(item1).isEqualTo(findItem1); //단건조회 } @Test public void 상품변경() throws Exception { //given //when //then } private static Item getItem(String name, int price, int stockQuantity) { Item item = new Book(); item.setName(name); item.setPrice(price); item.setStockQuantity(stockQuantity); return item; } } 상품 저장과 조회에 대한 테스트 코드를 작성해보았는데 혹시 수정해야 할 부분이 있는지 궁금합니다. 상품 저장 시 item.getId() == null 이 아닐 때 merge 하도록 되어있는 부분에 대해서도 테스트를 해야할 것 같은데, 어떻게 테스트할지에 대해 방향성을 알려주시면 감사하겠습니다.
강의를 보다가 궁금한 점이 생겨서 질문드립니다. 김영한 선생님 강의에서 다른 자바 강의들에서도 스캐너를 사용하시고 close() 메서드로 닫지 않으시는데요. 챗지피티도 그렇고 검색해보니 스캐너를 닫아주는게 좋다고 하는데, 왜 닫아야 하는 건가요? 그리고 닫는게 맞는거면 왜 강의에서 닫지 않으시는지 궁금합니다. 김영한 선생님 뿐 아니라 다른 많은 강의에서도 스캐너를 잘 닫지 않더라고요. 자바가 아닌 시스템 자체에서 input 자원을 가져오는 거기 때문에 닫아줘야 한다고 하던데, 이 점이 궁금합니다!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] sql 쓰기 지연 저장소에 쿼리가 저장되는 타이밍이 헷갈립니다 em.find() 이후 member.setXXX 같은 경우는 트랜잭션 커밋 호출 -> 플러시 호출 -> 스냅샷, 1차 캐시 비교 -> 다르면 쓰지 지연 저장소에 쿼리 생성해서 저장 em.remove는 수정과 동일하게 동작 Member 객체 생성해서 em.persist(memberNew) 같은 경우에는 persist 하는 순간 1차 캐시, 스냅샷 저장 + 쓰기 지연 저장소에 쿼리도 생성해서 저장 해당 순서가 맞을까요?
회원 기능 테스트에서 계속 막혀서 전부 다 복붙하고 해봐도 오류가 납니다 이거 왜이런걸까요? 우선 프로젝트 전체 구글 드라이브에 공유해뒀습니다. https://drive.google.com/file/d/1jEOFgnIZ2fRBWTDKmYaA3lnrid-0i10E/view?usp=drive_link
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 다른분이 같은 내용으로 올린거봤는데요 저도 똑같이 안나오네요 jdk는 22버전입니다 해결책이있을까요
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 클래스 레벨에서 public 과 default 두 가지 밖에 사용 못하는데 그러면 생성자는 클래스 레벨이니까 마찬가지로 앞에 접근 제어자 두개 밖에 사용 못하나요??
자바 실전편 섹션3 기본형과 참조형 20 문제와 풀이 상품관련 프로그램 맨 마지막쪽에 사용자한테 물품 입력받을때 물품이름은 nextline로받고 가격이랑 수량은 nexint로 받아서 int로받으면 엔터할때 개행문자때문에 nextline를 하나 더 추가해준다고하셨는데 가격을 받을땐 nextint후 nexline이 없고 수량을 받을땐 nextint후 nexline가 있습니다 어떨땐 써주고 어떨땐 안쓰는걸까요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] static public void printV2(Shuttle<? extends BioUnit> shuttle) { BioUnit unit = shuttle.out(); System.out.println("이름 : " + unit.getName() + ", HP:" + unit.getHp()); } 위 printV2 메서드의 파라미터의 타입을 굳이 상한조정해야하는이유가 있나요? static public void printV2(Shuttle<?> shuttle) {...} 위처럼 상한을 조정하지 않아도 Shuttle자체에서 상한을 조정하고 있기 때문에 무조건 BioUnit이 들어올수밖에없다고 생각돼서요! public class Shuttle<T extends BioUnit> {...}
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. eqauls 비교는 동등성이 기본이라고 들었는데 8분15초는 왜 다른참조지만 동등성비교로 true가 반환되는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) //get()추가하면 optional 깔 수 있음, 에러뜸 [질문 내용] test케이스에서 findByName 테스트할때 Optional에서 까기 위해 get메소드를 한번 더 써주신다고 하셨는데 get()대신 optional로 테스트하면 에러가 발생됩니다. 값에 optional[]이 붙어서 그런거같은데 이 경우는 get() 추가 사용 대신 optional로는 테스트 못하는건가요?