묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 핵심 원리 - 기본편
@configuration 싱글톤
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]싱글톤으로 등록이 되는 이유는 AutoAppConfig에 @Configuration이 붙었기 때문인가요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
접근 제어자(전반전) 질문입니다!
안녕하세요? 늘 강의 잘 보고 있습니다!가격이 더 이상 -5000원으로 나오지 못하도록 접근 제어자인 private을 사용했는데요!이후 BlackBoxrefurbish 클래스에서 private int price라고 바꿔줌으로써 해당 클래스 내에서만 접근이 가능하도록 하도록 하였고, AccessModifier에서 get, set으로 price를 설정해주었습니다.그리고 출력값으로 10만원이 출력되었는데 이러한 출력 과정이 구체적으로 궁금합니다!1. b1.setPrice(200000)이고, b2.setPrice(-5000) 인데 BlackBoxrefurbish 클래스에서 접근 제어자 private를 설정했으니 BlackBoxrefurbish 클래스에서 가정한 if 문(아래 사진)에 따라 10만원이 출력된 걸까요?접근을 제한한다는 뜻이 -5000원을 제한한다는 의미로 받아들여도 되는지 궁금합니다!
-
해결됨스프링 핵심 원리 - 기본편
ac.getBeansOfType(Object.class);
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]스프링 컨테이너에 설정 정보를 넣어주고 이를 기반으로 테이블을 만드는 것으로 인지했습니다.현재 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(TestConfig.class); 와 같이 설정하였고obj클래스는 스프링 컨테이너에 설정 정보를 넣어주지 않았는데 컨테이너 안에 왜 obj 빈이 존재하며 getBeansOfType을 할 수 있는 이유가 궁금합니다.
-
해결됨스프링 핵심 원리 - 기본편
Map<String, DiscountPolicy> 등록될 때 String
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Map에 DiscountPolicy 주입될 때, getBean하는거랑 비슷하잖아요. 이 때 String도 자동으로 넣어주는.. 그런 부분이 잘.. 안 와닿아서요. 그러니까 Map 자체는 Key가 필요하기 때문에, 자동으로 맵 자체가 그러니까 따지자면 getBean(DiscountPolicy.class).toString()해서 자체적으로 넣어주는 거죠? 이걸 Map<>이 실행해주는거죠?
-
미해결자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
java 코드와 같이 빌드하였더니 오류 발생
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.kotlin 폴더 아래에 Main.kt JavaMoney.java 를 만들어 서 빌드하니 아래의 오류가 납니다. 여기 저기 뒤져봐도 해결을 못해서요. 어떻게 하면 좋을지요? 개발 환경 인텔리제이이며, kotlin 코드 만으로는 빌드 및 실행이 잘됩니다. 결과 : java: error: invalid flag: a=cJavaMoney.java import org.jetbrains.annotations.NotNull;import java.util.Objects;public class JavaMoney implements Comparable<JavaMoney> {private final long amount; public JavaMoney(long amount) {this.amount = amount; }public JavaMoney plus(JavaMoney other) {return new JavaMoney(this.amount + other.amount); }@Override public int compareTo(@NotNull JavaMoney o) {return Long.compare(this.amount, o.amount); }@Override public boolean equals(Object o) {if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; JavaMoney javaMoney = (JavaMoney) o; return amount == javaMoney.amount; }@Override public int hashCode() {return Objects.hash(amount); }@Override public String toString() {return "JavaMoney{" +"amount=" + amount +'}'; }}Main.kt fun main(args: Array<String>) {val money = JavaMoney(1_000);}
-
미해결스프링 핵심 원리 - 기본편
IoC 컨테이너에 대해
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.'AppConfig 처럼 객체를 생성하고 관리하면서 의존관계를 연결해 주는 것을 IoC 컨테이너 또는 DI 컨테이너라 한다. ' 라고 하셨는데여기서 IoC 컨테이너라고 부르는 이유가AppConfig를 사용하는 클라이언트 구현 객체가외부에서 구현 객체를 주입하는 방식을 통해(DI) 프로그램의 제어를 외부로 넘기는 것(IoC)을 만족하기 때문인가요? 정리 하자면IoC: 프로그램의 제어를 외부로 넘기는 것DI: 외부에서 구현 객체를 주입하는 방식 결국 IoC 라는 개념이 DI 같은 개념을 사용해서 프로그램 제어가 외부로 넘기는 방식이라고 이해해도 되는지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
빈 스코프 강의 관련 질문
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]빈 스코프와 Provider 강의를 듣고 있는데요 그대로 코드 따라치고 있는데 web 패키지를 빌드하면 java: package hello.core.common does not exist이런 오류가 뜹니다 ㅠㅠㅠ분명히 hello.core 아래에 common 패키지가 존재하고 있고 import도 잘 되어있는데 왜 안되는 건가요??이런 경우 문제를 어떻게 해결하나요??
-
미해결스프링 핵심 원리 - 기본편
@Bean 메서드를 호출하면 프록시되어서 AppConfig@CGLIB 의 override 된 함수가 실행되는건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]영한님의 말씀에 의하면AppConfig의 자식클래스인 AppConfig@CGLIB가 스프링 빈으로 제일 먼저 등록되어서, 누가 @Bean 메서드를 호출하려할때 가로챈? 다음, 빈으로 등록된 AppConfig@CGLIB에 override 된 해당 메서드를 실행하여 (등록이 안되어 있으면)스프링 빈으로 등록할지, 등록된 걸 내보낼지 결정한다. 라고 이해했는데 맞는지 궁금합니다!
-
해결됨스프링 핵심 원리 - 기본편
참조값이 다른게 스프링 컨테이너를 사용하지 않아서라고 이해했는데 맞는지 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에 전부터 계속 스프링 컨테이너를 사용하시다가 이번에 아래 그림처럼 AppConfig 객체를 바로 생성해서 사용하시길래 처음에 "스프링 컨테이너를 만들었는데 왜 참조값이 다르게 나오지?"라고 잘못이해했었는데요,제가 이해한게 맞다면 아래 첫번째 그림은 스프링 컨테이너를 사용한게 아니라서(싱글톤 패턴도 사용하지 않았고) 매번 함수 호출시마다 new에 의해 객체가 새로 생기는거고, 두번째 그림이 스프링 컨테이너를 생성해서 등록된 하나의 객체를 사용하고 있는거라고 이해했는데 맞는지 궁금합니다 :)
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
Getter & Setter
1. Getter는 값을 가져오는 메소드, Setter는 값을 설정하는 메소드인데resolution의 조건을 getter에 넣었는지 궁금합니다!값을 설정하는 setter에 넣는 게 왜 안 되는지 궁금합니당그리고 price의 경우에도 getter가 아닌 setter에 조건을 넣은 이유가 궁금합니다! resolution과 price에 대한 오류만 있을뿐인데 modelName, color도 다 같이 getter&setter에 넣어줘야 하나요?
-
미해결자바 기초부터 마스터하기 with 은종쌤 (Do it 자바 프로그래밍 입문) - Part 1(기초편)
실행을 하면 결과가 깨져서 나와요
선생님이 하신 코드와 똑같이 하고 실행을 시켰는데 위에 세개는 실행이 되는데 아래 두개는 깨져서 나옵니다오류는 없다고 뜨는데 이상하네요
-
해결됨스프링 핵심 원리 - 기본편
컴포넌트 스캔 쓰나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)[질문 내용]기존의 AppConfig가 훨씬 좋은 것 같아요..먼저 구현체의 이름으로 등록된다는 점, 그리고 갈아끼울 때 구현체 코드를 수정해야 된다는 점, 그리고 궁극적으로 의존관계를 한눈에 보지 못하는데 이거 쓰나요..?
-
해결됨스프링 핵심 원리 - 기본편
@PostConstruct와 영속성 컨텍스트
안녕하세요 @PostConstruct를 배우고 활용해보던 중 궁금증이 생겨 질문을 작성합니다.레포지토리는 JPARepository를 상속 받은 상태입니다! 테스트 데이터를 미리 집어 넣기위해 PostConstruct를 사용하였는데요. 궁금증에 더티체킹이 이루어지는지 알아보고 싶어 기존에 저장되어있던 test라는 user데이터를 가져와 이름을 바꾸어보았는데 select 쿼리만 나가고 update쿼리가 나오지 않았습니다. 영속성 컨텍스트에서 관리가 안되고있는 것 같은데 정확한 이유가 궁금합니다 @PostConstruct @Transactional public void test() { User test = userRepository.findByLoginId("test"); test.setName("changeName"); }
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
인터페이스 강의를 듣고 궁금증이 생겼습니다.
1. interface클래스내에 정의된 메써드는 public abstract이고, 변수는 public static final이 자동으로 앞에 정의가 된다고 하셨는데 이건 고정인건가요? 다른 형태로 봐꿀 수 있나요?봐꿀 수 없다면 왜 그러한지가 궁금합니다. interface 클래스를 implements해주고 추상클래스를 extends 해주는 것은 둘 다 상속인건가요? 둘다 부모 클래스가 되는건가요?
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
안녕하세요 열거형에서 이해가 잘 안되는 부분이 잇습니다.
1. HD, FHD, UHD를 열거 클래스 Resoultion의 열거값이라고 부르면 되나요? HD(1280), FHD(1920), UHD(3840); 이 코드에서 괄호안에 있는 것들은 뭐라고 부르면 되나요?아래 코드에서 width 가 괄호안의 숫자가 될 수 있는 지 이해가 안됩니다 ㅠ. 조금 더 설명해주실 수 있을까요?enum Resolution { HD(1280), FHD(1920), UHD(3840); private final int width; Resolution(int width){ this.width = width; } public int getWidth() { return width; } }
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
객체 생성 부분에서 헷갈려요
안녕하세요 Camera 클래스는 추상 클래스라서 객체를 생성할 수 없는 상황에서, 아래의 코드는 FactoryCam과 SpeedCam의 객체가 되는 건가요? Camera factoryCam = new FactoryCam(); factoryCam.showMainFeature(); Camera speedCam = new SpeedCam(); speedCam.showMainFeature();
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
섹션8 메소드 오류
이렇게 빨간줄이 생기면서 ';' expected라고 뜨는데 어떤 문제가 생긴 건지 궁금합니다!메소드 식에서는 이런 오류가 뜨는데 이유를 모르겠습니다ㅠㅠ
-
해결됨나도코딩의 자바 기본편 - 풀코스 (20시간)
섹션8 클래스 변수 질문입니다!
5분 45초 강의에서 기능 개발을 해서 BlackBox.conAutoReport = true;로 바꿔주었는데static boolean canAutoReport = false; 를 적었던 BlackBox 페이지에서 쓰는 게 아니라_03 Classvariables 페이지에서 쓰는 건지 궁금합니다!
-
미해결스프링 핵심 원리 - 기본편
Member 클래스에서 Grade 오류
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요! 사진 첨부와 같이 Grade에서 빨간줄 에러가 뜨는데 왜그럴까요..?ㅜㅜ 영한쌤 카테고리를 보면 member 패키지안에 Grade Enum 클래스가 있는거 같은데 제꺼엔 그클래스가 첨에 파일 불러오기 할때부터 없던데 혹시 그래서일까요..?
-
미해결스프링 핵심 원리 - 기본편
스프링 컨테이너가 등록하는 것
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에서 스프링 컨테이너에서 뭐를 등록한다고 하는데 정확히 등록하는게 뭔가요??메소드랑 객체같은걸 말하는 건가요??그리고 빈이라는거는 그냥 @Bean 어노테이션 붙은걸 빈이라고 하는게 맞나요??