묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 핵심 원리 - 기본편
Spring 에서 MVC 간 객체를 넘겨주는 방법에 대한 질문
강의하셨던 코드를 쭉 훑어봤습니다.강의에서 Spring이 굉장히 방대한 것을 알았습니다. 그리고, Spring에서의 MVC구조에 대해서는 대략 알게 되었습니다. 강의를 듣다 문득 궁금해졌던 부분인데,Spring 에서는 객체를 Spring Container에 넣어줘서 Bean으로 관리한다고 알려주셨습니다. Bean으로써 관리되는 객체는 Spring이 자동적으로 Dependency Injection을 한다고도 알려주셨고요.Spring Container, Bean은 자동 객체의 생성과 관리를 관장한다고는 알고있긴합니다만, MVC간 data 전달은 잘 모르겠습니다. 궁금한것은 Model Controller View간 객체를 전달 할 때의 방법과 그 내부적인 원리에 대해서입니다.Controller에서 Service/DTO/Repository쪽에서 Object를 어떻게 HTML인 View 에 전달하는지그리고 View에서 어떻게 Object를 사용하고,또 그 Object를 어덯게 Controller에 전달하는지가 알고싶습니다.또, URL에서 QueryString이 어떻게 Client쪽에서 처리되어 Server쪽에 도달하는지, 그 내부적인 프로세스에 대해서 알고싶습니다.전체적으로 Object들이 어떤 흐름으로 MVC에 전달되고, MVC 내부적으로 어떻게 Object들을 공유하길래 HTML과 Java Code간 객체의 데이터를 공유가능한건지 궁금합니다. 이건 Serialization과 관련된 내용인가요? 저 내용들을 다 알려주시기 어렵다면, 검색 키워드만이라도 알려주시면 좋겠습니다. "how does spring send objects with view internally and controller" "how does spring view send object to controller internally"등으로 검색해봐도 원하는 정보가 나오지 않네요...또한, 저 내용들이 김영한님 강의에 있는 내용이라고 하고, 더 강의를 들으면 알 수 있는 내용이라고 한다면, 검색 키워드와 함께 김영한님 강의 어느부분에서 다루는지도 알려주셨으면 합니다. 일단 강의는 모두 구매한 상태라 들을 수 있습니다..
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
배열에 관한 질문입니다!
배열 구조개선 값 입력 코드에 관한 질문입니다!저 보라색 박스와 빨간색 박스 코드가 이중으로 두개가 겹치니까이렇게 코드를 쓰고 출력해도 똑같나요??
-
미해결김영한의 실전 자바 - 기본편
생성자를 만들고 getvalue 메서드는 왜만드는건가요 ??
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의안에서 생성자를 만들고 getvalue 메서드는 왜만드는건가요 ??
-
미해결스프링 핵심 원리 - 기본편
스프링 빈 등록과 의존관계 설정
수동으로(AppConfig를 이용해서) 스프링 컨테이너에 빈을 등록하는 과정에서 만약 다른 빈이 필요하다면 해당 빈의 의존성이 주입 된다고 이해했는데 그렇다면 실제로 등록과 의존성 주입은 거의 동시에 일어나고 강의에서 이 두 과정을 분리해서 설명한 것은 이해를 돕기 위한 것인지 확인 차 질문 드립니다.
-
미해결스프링 핵심 원리 - 기본편
been.getClass() 출력할 때 값이 다른데 상관없을까요?
제 결과영한님의 결과bean = class hello.core.AppConfig$$EnhancerBySpringCGLIB$$bd479d70xxx.SpringCGLIB의 xxx 는 어떤 의미인가요? 저는 아무것도 뜨지 않아서 이게 잘못된 결과인가 싶어서 질문드립니다.학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결김영한의 실전 자바 - 기본편
생성자 - 오버로딩과 this()
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]this를 사용해서 생성자 중복을 없앤다고 그러셨는데 궁금한점이애를들어 print(첫번쨰 생성자)print(두번쨰생성자)print(세번째 생성자)첫번쨰 생성자 안에 this(name,age,50) 이렇게 사용했다고 하면 두번쨰,세번쨰 생성자중 어떤걸 이용해서 하는건가요? 아니면 양식이 같은걸 알아서 찾아서 그 생성자를 사용하는걸까요? 구체적으로 자세히 설명해주시면 감사하겠습니다.
-
미해결스프링 핵심 원리 - 기본편
컴포넌트 스캔과 의존관계 자동 주입 시작하기 test중 NoSuchBeanDefinitionException 에러
package hello.core.member; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class MemberServiceImpl implements MemberService { //private final MemberRepository memberRepository = new MemoryMemberRepository(); private final MemberRepository memberRepository; @Autowired public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Override public void join(Member member){ memberRepository.save(member); } @Override public Member findMember(Long memberId){ return memberRepository.findById(memberId); } //싱글톤 test용 public MemberRepository getMemberRepository() { return memberRepository; } }basicScan 테스트를 진행하는데 코드를 몇 번씩 비교했는데 저렇게 떠서 왜인지 찾다가 https://www.inflearn.com/questions/799379/nosuchbeandefinitionexception-no-qualifying-bean-of-type-x27-hello-core-member이 사이트에서 OMG님이 제공해주신 test코드 @Test void basicScan() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AutoAppConfig.class); System.out.println("================"); String[] beanDefinitionNames = ac.getBeanDefinitionNames(); for(String beanDefinitionName : beanDefinitionNames) { BeanDefinition beanDefinition = ac.getBeanDefinition(beanDefinitionName); if (beanDefinitionName.contains("memberService")) { if(beanDefinition.getRole() == BeanDefinition.ROLE_APPLICATION) { System.out.println("beanDefinitionName : " + beanDefinitionName + " beanDefinition : " + beanDefinition); } } } System.out.println("================"); // MemberService memberService = ac.getBean(MemberService.class); // assertThat(memberService).isInstanceOf(MemberService.class); }를 돌리면 제공해주신 출력 예시대로 나오는데 ,정작 강의에서 해주시는 Test코드는 계속 에러가 나고 있습니다 ㅠㅠㅠ어떻게 해결해야할까요..?
-
해결됨스프링 핵심 원리 - 기본편
실행 결과에 로그
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]저는 실행 결과가 왜 깔끔하게 나오지 않는지 알려주세요..!
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
변수 값 변경 시 기존의 값은 "삭제"된다의 의미
int a = 10; System.out.println(a); // 10 a = 50; System.out.println(a); // 50이 코드에서 a에 50이 할당될 때 10은 메모리에서 삭제된다는 의미인가요?그러면 이 재할당이 될 때 jvm 내의 가비지 컬렉터가 작동해서 메모리를 수거해 가는 것이라고 이해하면 되는 것인지 궁금해서 질문 남깁니다!
-
미해결김영한의 실전 자바 - 기본편
접근제어자 문제풀이 2번
안녕하세요! 접근제어자 문제풀이 2 번에서 궁금한 점이 있어서 질문 남깁니다.items 배열을 반복문을 돌렸을때,Item item = item[i] 안에는 객체 주소값이 들어있을텐데 ,그럼 item.name (x001.name) 이렇게도 접근할 수 있지 않나요? 에러가 떠서요ㅜㅜ
-
해결됨김영한의 실전 자바 - 기본편
다향성 문제와풀이2번
OCP원칙 지키면서 푸는게 어려운거맞죠..선생님..원칙을 지키면서 풀이를 하려니 정말 어려운것같습니다..지금까지 풀이와풀이 문제들중 막힌것이 없는데 여기서 막히니 너무 막막합니다..선생님 코드를 보면 이해는 바로하겠는데 제 머리로는 바로 원칙을 지키며 푸는게 어렵습니다..처음엔 다 그런거겠죠
-
미해결김영한의 실전 자바 - 기본편
인터페이스에서 static 메서드
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]강의 정말 잘듣고 있습니다! 감사합니다. 강의를 듣던도중 갑자기 궁금한게 생겼는데요인터페이스나 추상 클래스를 상속받은 자식클래스에서 static 메서드의 구현을 강제하도록 하는 방법은 없을까요?예를 들어 cow,cat,dog 자식클래스의 생성된 객체 개수를 카운트할때 각각의 클래스에 static int count 변수를 만들고 static 메서드를 각각 만들수 있도록, 구현이 안되면 컴파일 에러가 뜨도록 할순 없나요?
-
해결됨자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
Java 코드를 Kotlin 코드로 가져올 때 Wrapping 한다는게 무슨 뜻일까요?
안녕하세요. 16:52초에 Java 코드를 보며, 맥락을 확인하고 Java 코드를 가져오는 지점을 Wrapping 한다고 설명을 해주셨는데 이 때 Wrapping에 대하여 좀 더 설명을 해주실 수 있을까요?코틀린으로 코드를 짜려고 하면 아무래도 자바로 짠 자료들이 많아서 자바 코드를 코틀린 코드로 옮길 때 컬렉션 타입을 어떻게 해야할 지 조금 고민이 되는 경우가 많아서 질문 드려봅니다!
-
미해결김영한의 실전 자바 - 기본편
객체지향 문제와 풀이
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]객체지향과 문제의 풀이 강의 중 문제와 풀이 부분 첫번째 문제에서 Account 클래스를 만들고 AccountMain에 이용을 하는데 이때 Account 클래스 안에 package oop1.ex; public class Account { int balance; void deposit(int amount){ balance += amount; } void withdraw(int amount){ if(balance >= amount){ balance -= amount; }else{ System.out.println("잔액부족"); System.out.println("잔고: " + balance); } } }package oop1.ex; public class AccountMain { public static void main(String[] args) { Account account = new Account(); account.deposit(10000); account.withdraw(9000); account.withdraw(2000); } }이렇게 작성했는데 이때 궁금한점이 Account 클래스 안에 print 출력도 같이 해도 되는건지 아니면 선생님 처럼 AccontMain에 해야하는지 궁금합니다.각각 장단점이나 아니면 어떤게 더 좋거나 그렇게 해야한다 이런게 있으면 이유를 들어서 설명해주시면 감사하겠습니다.
-
미해결김영한의 실전 자바 - 기본편
접근제어자 질문
안녕하세요, 강의 잘 보고 있습니다. 접근제어자 강의 수강 중인데, public, private, default 관련 사용법 알려주셔서 protected는 스스로 만들어보고 테스트 해봤습니다. 그런데, protected는 다른 패키지여도 자식클래스는 접근이 가능하다는데, 어떻게 사용해야하는건지, 왜 main에서 오류가 나는지 모르겠습니다..package access.b; import access.a.AccessData; public class AccessMain extends AccessData { public static void main(String[] args) { AccessData data = new AccessData(); // 이렇게 하면 안되는 이유 data.protectedField = 5; data.protectedMethod(); } }이렇게 했을 때 오류가 나고, package access.b; import access.a.AccessData; public class AccessMain extends AccessData { public static void main(String[] args) { Test test = new Test(); test.ts(); } } class Test extends AccessData { void ts(){ protectedField = 3; System.out.println("protected test 호출입니다."); protectedMethod(); } }이런 식으로 접근하면 또 접근이 가능했습니다..왜 그런건지, 어떤 경우에 이런식으로 쓰는건지, main에서는 왜 안되는건지 궁금합니다..
-
미해결김영한의 실전 자바 - 기본편
scanner.nextInt() ,scanner.nextLine()
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]1. 실전자바 섹션2에 문제와 풀이 15:15 부분정도에서 scanner.nextInt()가 가격한번 받고 아래에 수량 받는데가격을 입력받는 scanner.nextInt() 뒤에는 scanner.nextLine()을 추가하지 않고 수량을 입력받는 scanner.nextInt() 다음에 scanner.nextLine()을 쓴 이유가 어떻게 될까요? int가 연속으로 올때는 안써도 되는건가요? 그 이유가 궁금합니다.
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
메서드 문제와 풀이 2
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.=========================================저는 if, else if로 풀었는데 결과는 같지만 이렇게 작성하면 어떤 점이 다른지, 개선해야 될 부분이 어떤 것이 있는지 궁금합니다! (메인 부분만 가져왔어요!) public static void main(String[] args) { Scanner sc = new Scanner(System.in); int balance = 0; int amount; int withdraw; while (true) { System.out.println("---------------------------------"); System.out.println("1.입금 | 2.출금 | 3.잔액 확인 | 4.종료"); System.out.println("---------------------------------"); System.out.print("선택: "); int menu = sc.nextInt(); sc.nextLine(); if (menu == 1) { System.out.print("입금액을 입력하세요: "); amount = sc.nextInt(); balance = deposit(balance, amount); } else if (menu == 2) { System.out.print("출금액을 입력하세요: "); withdraw = sc.nextInt(); balance = withdraw(balance, withdraw); } else if (menu == 3) { System.out.println("현재 잔액: " + balance); } else if (menu == 4) { System.out.println("시스템을 종료합니다."); break; } else { System.out.println("잘못 입력하셨습니다."); } } }
-
미해결스프링 핵심 원리 - 기본편
빈 생명주기 콜백 시작 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]빈 생명주기 콜백 시작 강의 17:38 설명을 보면객체와 생성과 초기화를 분리해서 생성자에 파라미터로 받는 것은 되도록이면 지양하라고 설명해주셨고예시로 setXXXX( 파라미터), setter를 사용하셨습니다. 바로 전 강의에서 의존관계 자동주입 @Autowired를 사용할 땐 생성자 초기화를 주로 하고수정자(setter)는 생성자 초기화를 사용하지 않을때 가끔 사용하라고 하셔서 두 내용이 머릿속에서 충돌하고 헷갈립니다!어떤 부분이 다른건가요? 제가 이해를 잘못한건지 궁금합니다. 답변 기다리겠습니다 감사합니다
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
선생님 문제 풀다가 궁금한 사항이 있어서요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]반복문 문제풀이에서요. 모르고 처음 사진처럼 썼더니 선생님이랑 답을 포함 하고 있지만 다른 내용이 나오더라구요.사진1과 2의 차이가 뭘까요?ㅠㅠ 사진1은 총합 값말고 그전에 더한값도 나오더라구요
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
array 말고도 리스트 공부
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/[질문 내용]제가 여기서array 는 공부했는데 , 리스트에 대해서 공부하고 싶은데 어디에서 할 수 있을까요?