묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
세션5 게임 셋팅 팝업 창 관련(unity6)
안녕하세요.세션5의 게임 셋팅 팝업창관련하여 질문드립니다. 처음 unity 설정을 할 때 unity6 universe 2d로 템플릿을 만드는 바람에 camera 설정이 꼬인 것 같습니다. 셋팅 버튼을 눌러도 셋팅 UI가 뜨지 않고 Rendering에서 priority 숫자를 높여주어야지 UI가 보입니다. 하지만 close 버튼을 누르면 로비창으로 다시가지 않고 빈화면으로 보입니다. 여러 셋팅 값들을 바꾸어도 해결되지않아 질문들립니다.아예 처음부터 2022버젼으로 새로 해야할까요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
while문 증감 연산자 질문 드립니다 ㅜㅜ
i = 0;while (i++ < 10) {System.out.println(i);}이 while 문을 출력하면 콘솔에 1부터10까지 10번 출력이 나오는데요 i++ 붙은 증감 연산자가 뒤에 있으니까 0부터9까지 10번 나와야 하는게 아닌가요?ㅜㅜfor문에서는 for(int i=0; i<10; i++){}이럴경우 0부터9까지 10번 실행이되는데 왜 다른가요...헷갈려요 선생님
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
Iterator 문의
안녕하세요 ! Iterator 강좌 수강 후 궁금한 점이 있어 질문드립니다. List<String> list = new ArrayList<>(); list.add("유재석"); list.add("(알 수 없음)"); list.add("김종국"); list.add("(알 수 없음)"); list.add("강호동"); list.add("(알 수 없음)"); list.add("박명수"); list.add("(알 수 없음)"); list.add("조세호"); Iterator<String> it = list.iterator();우선, 강좌와 동일하게 해당 조건에서 실행할 때 it = list.iterator(); while (it.hasNext()) { String s = it.next(); if (s.contains("(알 수 없음)")) { it.remove(); // 삭제 } }it = list.iterator(); while (it.hasNext()) { if (it.next().contains("(알 수 없음)")) { it.remove(); // 삭제 } }위 코드와 아래 코드가 동일하게 동작하는 것 같은데, 코드의 가독성을 위해 String s 를 따로 선언해주는 것이 맞는지 궁금합니다 ! 또한 추가적으로,it = list.iterator(); while (it.hasNext()) { String s = it.next(); if (s.contains("(알 수 없음)")) { it.remove(); // 삭제 } } it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); }it = list.iterator(); while (it.hasNext()) { String s = it.next(); if (s.contains("(알 수 없음)")) { it.remove(); // 삭제 } else { System.out.println(it.next()); } }위 코드를 아래 코드로 실행했을 때 오류가 발생하는데 이유를 알고 싶습니다 ! while (it.hasNext()) -> 리스트에서 다음 값을 불러 낼 수 있는 동안 반복하며if(s.contains("(알 수 없음)")) { it.remove();} -> '("알 수 없음")' 을 포함한다면 제거하고else {System.out.println(it.next());} ->그것이 아니라면 출력해라 로 생각해서 가능할 것 같은데 오류가 나서 궁금증이 생겼습니다 !감사합니다 :)
-
미해결김영한의 실전 자바 - 중급 2편
직접 구현하는 연결 리스트4 - 제네릭 도입 코드 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용] package collection.link; public class MyLinkedListV3<E> { private Node<E> first; private int size; public void add(E e){ Node<E> newNode = new Node<>(e); if (first == null){ first = newNode; } else { Node<E> lastNode = getLastNode(); lastNode.next = newNode; } size++; } //추가 코드 public void add(int index, E e){ Node<E> newNode = new Node<>(e); if (index == 0){ newNode.next = first; first = newNode; } else{ Node<E> prev = getNode(index - 1); newNode.next = prev.next; prev.next = newNode; } size++; } @Override public String toString() { return "MyLinkedListV1{" + "first=" + first + ", size=" + size + '}'; } private static class Node<E>{ E item; Node<E> next; public Node(E item) { this.item = item; } //A->B->C이런모양으로 출력하고 싶어! @Override public String toString() { StringBuilder stringBuilder = new StringBuilder(); Node<E> x = this; stringBuilder.append("["); while (x != null) { stringBuilder.append(x.item); if (x.next != null) { stringBuilder.append("->"); } x = x.next; } stringBuilder.append("]"); return stringBuilder.toString(); } } } 위 코드에서 Node는 정적 중첩 클래스로서 MyLinkedListV3에 선언돼 있습니다. static은 바깥 클래스와 독립적이고 클래스레벨에 소속돼 있어 인스턴스에 따라서 static class가 바뀌는 일은 없다고 알고 있었습니다. 그런데 여기서는 바깥 클래스의 타입 매개변수 E가 정적 중첩클래스인 Node에 영향을 주어 Node의 item의 타입을 E로 만듭니다. 그러면 E가 Integer인 MyLinkedListV3, E가 String인 MyLinkedListV3가 있을 수 있다는 것인데 타입 매개변수가 도입된 정적 중첩 클래스는 정적 변수와 다르게 인스턴스에 영향을 받을 가능성이 있다고 생각돼서 다음과 같이 실험해봤습니다.아래 코드를 실행한 결과package collection.link; public class MyLinkedListV3Main { public static void main(String[] args) { MyLinkedListV3<String> stringList = new MyLinkedListV3<>(); MyLinkedListV3<Integer> intList = new MyLinkedListV3<>(); stringList.add("a"); stringList.add("b"); stringList.add("c"); String string = stringList.get(0); System.out.println("string = " + string); System.out.println(stringList); intList.add(1); intList.add(2); intList.add(3); Integer integer = intList.get(0); System.out.println("integer = " + integer); System.out.println(intList + " = " + stringList); } } string = a MyLinkedListV1{first=[a->b->c], size=3} integer = 1 MyLinkedListV1{first=[1->2->3], size=3} = MyLinkedListV1{first=[a->b->c], size=3}이 부분을 유의 깊게 봐주세요 System.out.println(intList + " = " + stringList);위 코드를 실행하면 intList, strList를 동시에 출력해도 잘 출력이 되고 서로 독립적인 클래스가 타입만 다른 상태로 선언된 것처럼 보입니다.의문점이 또 있습니다.MyLinkedListV3<Integer> intList2 = new MyLinkedListV3<>(); //을 main에 추가하고 System.out.println(intList + " = " + stringList + intList2); //위와 같이 intList2도 출력하면 MyLinkedListV1{first=[1->2->3], size=3} = MyLinkedListV1{first=[a->b->c], size=3}MyLinkedListV1{first=null, size=0}위와 같이 타입 매개변수를 inList와 intList2가 같은 Integer인 상황임에도 링크드 리스트안의 요소들을 공유하진 않습니다. 같은 타입 매개변수를 사용하는 인스턴스들 끼리는 같은 정적 중첩 클래스를 공유하는 줄 알았는데 이것도 아닌 것 같습니다. 타입 매개변수가 적용된 정적 중첩 클래스는 정적 변수와 다르게 인스턴스마다 서로 다르게 존재하는지 여쭙고 싶습니다. 마지막 제네릭 타입 안에서 Node<E> node = new Node<>();는 되고 new E();는 안되는 이유를 생각해봤는데 맞게 생각한건지 봐주셨으면 좋겠습니다.E는 단순히 컴파일 되기 전 타입을 선언하여 해당 타입의 안정성을 보장하기 위해 E가 String으로 선언된 상황이면 String전용 Node로 만들기 위해 들어간거고 이 영향은 컴파일단계에서만 미치며 컴파일 이후에는 전부 상한의 클래스로 대체된다. 하지만 상한 클래스로 예를들어 Object라고 대체되어 어떤 메서드의 return 값이 Object로 변하는 경우라도 컴파일러가 알맞게 이전의 E타입으로 다운캐스팅 해주니 문제 없는 것이다.하지만 인스턴스 E를 "생성"하는 것은 문제가 된다. 단순히 타입을 선언하는게 아니고 인스턴스 E를 생성해서 뭔갈 한다면 예를 들어 상한이 Object이고 Object의 이름모를 하위타입의 인스턴스를 생성하면 해당 타입의 메서드, 멤버변수를 전부 활용할 수도 있다는 것인데, E가 정확히 무엇일지 몰라서 컴파일러가 상한 타입으로 퉁친 상태인데, 상한 타입보다 하위의 타입의 인스턴스 메서드를 쓸 가능성은 당연히 없애는 것이 맞기 때문에 new E();도 못쓰는 것이고 E인스턴스의 메서드, 멤버 변수 정보도 당연히 모르니까 instanceOf도 못 쓰는 것이다.라고 결론을 내렸는데 괜찮을까요?
-
미해결김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
선생님 혹시 자바 공부나 개발에 대한 책 추천 해주실 수 있으십니까
현재 나온 자바 강의 모두 결제했지만 책으로도 병행하고 싶어서 여쭤봅니다 자바의 정석 같은 기본서보다 좀 더 깊게 들어갈 수 있는 책 추천 해주실 수 있으십니까
-
미해결김영한의 실전 자바 - 기본편
캐스팅 질문 입니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 캐스팅 배우면서 헷갈리는 부분이 있어 문의 드립니다Parent poly = new Child();poly에는 Child의 참조값을 가지게 되는데 참조값을 가지고 자식 클래스에 접근을 할 수 없는 부분이 이해가 잘 안갑니다 ㅜㅜ참조값을 통해 해당 객체 메모리에 접근을 할 수있는데 왜 부모 클래스는 확인이 안되는건가요? 메모리에 접근을 해도 해당변수 타입만 확인을 할 수 있는건가용?
-
미해결스프링 핵심 원리 - 기본편
coreApplicationTests, contextLoads()에서 계속 오류가 납니다.
coreApplicationTests, contextLoads()에서 계속 오류가 납니다.옵션처리 4분 3초에 @Bean(name="memoryMemberRepository)까지 주석처리했는데 계속 오류가 나며Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberServiceImpl' defined in file [C:\Users\Peter\Desktop\study\core\out\production\classes\hello\core\member\MemberServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.core.member.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,memberRepository이렇게 나옵니다
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
Future Vs. CompletableFuture
[질문 내용]강의 너무 잘 듣고있습니다. 요즘 실무에서는 Future 말고 CompletableFuture를 많이 쓰는걸로 아는데 이에 대한 강의는 없으신가요? 그리고 CompletableFuture 사용에 대한 의견도 궁금합니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
메서드 선언부와 본문 간의 형변환
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 메서드 강의를 듣는 중 메서드 선언부, 본문에 대해 궁금한 점이 생겨 여쭤보게 됩니다.메서드 선언부와 본문에 등장하는 메서드 타입, 파라미터 타입, 리턴 타입이 모두 같아야 한다고 강의 도중 말씀하신 것 같아 형변환 원리가 적용되나 싶어 인텔리제이로 실행을 해보니 말씀 그대로 하나라도 다르면 적용이 안되었습니다. 형변환 원리가 적용되지 않는 것이 확실한지 싶어 구글링하여 찾아보았는데 형변환 원리가 일부 적용된다고 하여서 질문을 작성하게 되었습니다. 메서드 선언부(본문) - 호출부 간에는 자료형이 달라도 형변환 원리가 적용되는 것은 이해가 되었는데, 메서드 선언부와 본문에 등장하는 변수 타입은 형변환 원리가 적용되지 않는게 맞을까요 ?좋은 강의 제공해주셔서 항상 감사드립니다 !!
-
미해결스프링 핵심 원리 - 기본편
지금 보시는 pdf 어디서 다운받나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)제목그대로요
-
미해결김영한의 실전 자바 - 기본편
final 메서드 오버라이딩
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]오버라이드 자체가 부모의 메서드를 재정의 하는 것 즉 오버라이드 하면 부모 메서드에 영향을 주는게 아닌데 final을 사용 하지 못하는 이유는 설계 의도가 맞지 않아서 사용하지 못하는게 맞을까요?
-
미해결아임코딩의 C# 기초 강의
배열
int[] number = new int[] {10, 20, 30} 이렇게 선언하고 초기화 하면 number의 0번째 인덱스에 10이 들어가는건가요? 그리고 만약 10이 number의 0번째 인덱스에 들어간다면, int[]number = {10,20,30} 이렇게 선언해도 되는데 굳이 new int[] 사용해서 초기화하는 경우에 대해 궁금합니다. 그리고 선언과 초기화에 따른 메모리 동작 원리에 대해서도 궁금합니다!
-
해결됨유니티 시스템 프로그래밍 Pt.2 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
열심히 보고있습니다!
안녕하세요..혹시 우편시스템이나 쿠폰시스템 강의는 없을까요??
-
미해결스프링 핵심 원리 - 기본편
enum의용도?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용].enum은 마이바티스 하면서도 처음보고 인프런강좌 이전강의(초급)에서도 본적없는데 무슨용도일까요? 간단하게나마 알려주실분??
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
nextInt 함수 질문
문제와 풀이3-상품 가격 계산 위 문제 질문드립니다. 가격과 수량을 입력받을때, 사용자 입력이 "정수+개행문자"까지 들어가니까앞선 문제에서 알려주셨다시피nextInt함수는 정수값만 입력으로 가져가기 때문에 사용자입력에서 개행문자가 남아 빈문자가 다음 입력값으로 넘어가는 것을 방지하기 위해아래 캡쳐와 같이 scanner.nextLine(); 코드를 넣어주어개행문자를 없애줘야 하지 않나요? 답변 부탁드립니다. System.out.print("가격은?(-1입력 시 종료): "); int price = scanner.nextInt(); scanner.nextLine(); if(price==-1){ System.out.println("시스템 종료"); break; } System.out.print("수량은?: "); int num = scanner.nextInt(); scanner.nextLine();
-
미해결스프링 핵심 원리 - 기본편
멤버서비스 join과 맴버레퍼지토리 save 순서 문의
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 맴버 서비스에서 우선 회원가입(join)을 하고 난 후에맴버 레파지토리에 join (회원등록..?)을 하는 순서이지 않을까 생각하는데 맞을까요..? memberServiceimpl에 조인 함수에서 사전에 등록된 레파지토리.save를 불러오는 것이 이해가 되지 않습니다..ㅠ save 와 join 함수의 의미와 순서가 궁금합니다 아직 회원 가입(join) 이 안되었는데 이미 있던 데이터(save)를 가져온다는데 혼란이 됩니다
-
해결됨유니티 시스템 프로그래밍 Pt.1 - 상용 게임 구현을 위한 핵심 시스템 올인원 패키지
마지막 챕터를 클리어했을때 예외처리 질문입니다.
UserPlayData클래스에 MaxClearedChapter 변수가 있습니다.아래 2군데에서 예외처리가 고민입니다.로비에 표시하는 챕터정보ChapterClearUI의 earnReward의 조건 로비의 챕터정보를 표시하려면 MaxClearedChapter를 증가시키면 안될것같고, 그렇다고 그대로 두자니 클리어보상을 매번 받게되어서, MaxClearedChapter를 증가시켜야할것같고...고민입니다.
-
미해결김영한의 실전 자바 - 중급 1편
String 질문
str하고 str1이 왜 ==비교로 false 값이 나오나요? 둘다 object.toString()값을 받으니까 아래println결과에서도 같게 나오는데..[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결김영한의 실전 자바 - 중급 1편
문자열 풀 질문
[질문 내용]여기에 질문 내용을 남겨주세요. String str1 = "123";String str2 = "45";String str3 = str1 + str2;라는 코드가 있고, 이미 클래스 로드되는 시점에 문자열 풀에 "12345"라는 인스턴스가 있으면 어떻게 작동하나요?
-
미해결스프링 핵심 원리 - 기본편
DiscountPolicy interface 궁금증
public interface DiscountPolicy { /** * @return 할인 대상 금액 */ int discount(Member member, int price); }인터페이스를 위와 같이 작성하셨는데, 첫 번째 매개변수에 왜 member를 받는 선택을 하셨을까요?Grade enum을 받아 처리하면, 등급에 따른 가격 결과가 나올 수도 있는데..member를 첫 번째 매개변수로 받게 되면 어짜피 객체가 가지고 있는 Grade 값을 사용할 것 같아서요. 궁금해서 여쭙습니다!