묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
QUIZ8 질문입니다.
package chap_08.camera; import chap_08.detector.AccidentDetector; import chap_08.detector.Detectable; import chap_08.reporter.Reportable; import chap_08.reporter.VideoReporter; public class SpeedCam extends Camera{ private Detectable detector; private Reportable reporter; public void setDetector(Detectable detector) { this.detector = detector; } public void setReporter(Reportable reporter) { this.reporter = reporter; } @Override public void showMainFearture() { System.out.println("속도 측정, 번호 인식"); } public void detect(){ this.detector.detect(); } public void report(){ this.reporter.report(); } public void setDetector(AccidentDetector accidentDetector) { } public void setReporter(VideoReporter videoReporter) { } }package chap_08; import chap_08.camera.SpeedCam; import chap_08.detector.AccidentDetector; import chap_08.reporter.VideoReporter; public class _Quiz_08 { public static void main(String[] args) { SpeedCam speedCam = new SpeedCam(); speedCam.setDetector(new AccidentDetector()); speedCam.setReporter(new VideoReporter()); speedCam.detect(); speedCam.report(); } } 전부 다 강의 보면서 쳤는데 저렇게 에러가 떠서요. 뭐가 문제일까요?
-
해결됨오브젝트 - 기초편
Movie 객체와 Screening 객체의 순환참조?
안녕하세요 😀, 강의가 너무 재밌어서 2회차 돌고 있는 학습자 인사 드립니다. 🙇복습하고 있는 중 궁금한 게 있어 글 올리게 되었습니다. 일단, 두 객체가 서로를 참조하는 상황이면 순환참조의 가능성이 있다고 알고 있습니다.Member, Team에서 두 객체가 서로 참조하고 있는 것을 예로써 이 상황을 설명하는 것을 많이 봐 왔습니다.class Team { private long id; private String name; private List<Member> members; } class Member { private long id; private String name; private Team myTeam; } 강좌의 Movie 객체와 Screening 객체도 위 처럼 필드로서 서로 참조하는 것은 아니지만, 아래와 같이 Movie는 Screening을 calculateFee 메소드의 인수로 전달받아 참조하고 있고, Screening은 필드로서 movie를 참조하고 있습니다.public class Movie { private Money fee; private DiscountPolicy discountPolicy; public Movie(Money fee, DiscountPolicy discountPolicy) { this.fee = fee; this.discountPolicy = discountPolicy; } // Movie가 Screening 참조 public Money calculateFee(Screening screening) { return fee.minus(discountPolicy.calculateDiscount(screening)); } public Money getFee() { return fee; } } public class Screening { // Screening이 Movie 참조 private Movie movie; private int sequence; private LocalDateTime whenScreened; public Screening(Movie movie, int sequence, LocalDateTime whenScreened) { this.movie = movie; this.sequence = sequence; this.whenScreened = whenScreened; } public Reservation reserve(Customer customer, int audienceCount) { Money fee = movie.calculateFee(this).times(audienceCount); return new Reservation(customer, this, audienceCount, fee); } public Money getFixedFee() { return movie.getFee(); } public boolean isSequence(int sequence) { return this.sequence == sequence; } public LocalDateTime getStartTime() { return whenScreened; } } 서로 참조하는 것은 당장은 아니더라도 추후에 순환참조를 만들 길을 열어 두게 되어 왠만하면 배제해야 하는 것으로 알고 있습니다. 여기서 질문이 있습니다! 예제에 사용된 Movie와 Screening도 두 객체가 서로를 참조하고 있는 것으로 볼 수 있나요?만약 그렇다면 이 경우에도 순환참조의 가능성이 있는 것인가요? 감사합니다. 😃
-
미해결김영한의 실전 자바 - 중급 1편
복습 질문하고 싶어요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]현재 수강을 계속하면서 공부하고 있는데요예를 들어 날짜와 시간 챕터를 다 보고 이제 복습을 하려고 하는데 PDF보면서 코드를 따라치면서 복습을 하고있는중입니다. 이렇게 복습하는게 효율적인가 궁금하고요.한번보고 복습주기를 어느정도로 해야하는지도 알고 싶습니다.
-
미해결파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
파이썬의 다양한 데이터 구조 이해하기:,,, 관련
3:37 근처에서Select Kernel을 클릭했는데myenv-finance-analysis가 드롭다운에 보이질 않습니다. 드롭다운에 Python Environments 만 떠서 그걸 선택했더니가상머신을 끄고 다시 들어와도 Detecting Kernels만 계속 실행되는 모습입니다. 혹시 왜 이런건지 알 수 있을까요?
-
미해결김영한의 실전 자바 - 기본편
참조형 변수 관련해서 질문이 있습니다.
기본형 변수와 참조형 변수에 대해서 공부하던 중 참조형 변수에 대해서 궁금한 점이 있습니다.객체를 만들고 변수에 할당을 하면 변수에는 해당 객체가 저장된 주소값을 저장한다는 내용은 이해를 했습니다. 하지만 곱씹어 보면서 궁금했던 점이 주소값도 결국 숫자일텐데 기본형 변수와 주소값을 어떻게 구별하는지 궁금합니다.조금 더 풀어서 설명하면 변수에 저장된 숫자값을 기본형 변수인지 참조형 변수의 참조값인지 Java가 구별하는 메커니즘이 궁금합니다. 구글링을 해봤는데 기본형 변수와 참조형 변수의 차이점과 같은 표면적인 내용에 대해서만 나와서 질문드립니다. 강의 잘 듣고 있습니다. 감사합니다.
-
미해결김영한의 실전 자바 - 중급 1편
Object 자동 import 및 메서드 오버라이딩 관련 질문 있습니다.
[질문 내용]안녕하세요, Object Class에 대해 궁금한 점이 있어 질문드립니다.모든 클래스는 최상위 부모인 Object Class가 제공하는 공통 기능(메서드)을 사용할 수 있는 것으로 알고 있습니다. 그러면 '객체.(Object Class의 메서드)' 형태[예시: child.toString()]로 충분히 상속받은 기능을 사용할 수 있는데 왜 Object Class가 java.lang 패키지에 포함되어 자동으로 import 되는지 궁금합니다.(자동으로 import되는 System, String가 바로 사용이 가능한 것과 다르게, Object는 객체 생성을 하고 상속을 이용해서만 기능 사용이 가능한 것 같은데 왜 굳이 자동으로 import되는 목록에 껴있는지 궁금합니다 ㅠ 혹시 Object형 변수 선언을 위해 그런걸까요?)마지막으로 Object 클래스의 메서드가 오버라이딩이 가능하던데 그대로 사용하지 않고 오버라이딩할 일이 따로 있나요? 지금까지 공부하며 느낀 자바는 굉장히 효율적이고 적절한 제약이 있는 언어라고 생각이 들어서 이유없이 오버라이딩 가능하게 남겨두지는 않았을 거라는 생각이 들어 여쭤봅니다.
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
강의에서 발생한 이슈에 관하여 (30:40)
안녕하세요. 30:40 강의 구간에서 발생한, 메서드 추출 이슈에 관하여, 원인이 무엇인지 궁금해서 질문 드립니다.발생한 문제는지뢰를 밟았을 때, 모든 지뢰 구간이 노출 된다거나,셀을 열었을 때 엉뚱한 곳도 같이 열리는 현상이 나타납니다.문제 발생 지점은 updateCellAt 메서드 사용 구간 입니다. private void initializeEmptyCells(CellPositions cellPositions) { List<CellPosition> positionList = cellPositions.getPositionList(); updateCellsAt(positionList, new EmptyCell()); } private void initializeLandMineCells(List<CellPosition> landMinePositionList) { updateCellsAt(landMinePositionList, new LandMineCell()); } ... private void updateCellsAt(List<CellPosition> positionList, Cell cell) { for (CellPosition position : positionList) { updateCellAt(position, cell); } } 상위 호출 부분으로 넘어가서,제 생각에 initializeEmptyCells 와 initializeLandMineCells 메서드 호출로 넘기는 인자가, 공유될 대상이었나 라고 생각해볼 수 있었습니다.cellPositions 나 landMinePositionList 모두 새로운 컬렉션으로 리턴되어서, 공유되지 않다고 생각되었습니다. public void initializeGame() { CellPositions cellPositions = CellPositions.from(board); initializeEmptyCells(cellPositions); List<CellPosition> landMinePositionList = cellPositions.extractRandomPositions(landMineCount); initializeLandMineCells(landMinePositionList); ... }그러면 어느 부분이 메서드 추출로 인해, 공유될 대상이 발생한 원인이었나가 궁금합니다.
-
해결됨파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
5분챌린지: Window 가상머신 만들기에서,,,
6:23~30 사이에 커서가 잠깐 사라지는데Remote Desktop Connection 창이 어디서 나타나는지 잘 안보이네요. Connect에서 연결, Bastion을 통한 연결 모두 선택해 보았는데동일한 창이 생성되지 않습니다. 확인 부탁드리겠습니다!
-
미해결자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
리턴타입 사용시 any를 사용해도 괜찮은가요?
코틀린으로 스프링을 개발해 보고 있습니다.리턴할떄 ResponseEntity<Any> 이런식으로 Any를 사용해도 괜찮을까요?
-
해결됨김영한의 실전 자바 - 중급 2편
직접 구현 하는 배열리스트2 - grow() 에서 질문이요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 강의를 들으면서 궁금증이 생겨서 질문을 남깁니다.grow 라는 메서드를 통해서 동적 배열의 사용법을 잘보았습니다.전에 강의에서(어떤 강의인지는 기억 안남.) 영한님이 10억 이라는 숫자를 말씀 하신 걸로 기억을 합니다.이 10억 이라는 숫자 때문에 질문이 생깁니다.어떤 배열에 데이터를 넣다 보니 , 최대 데이터 용량이 18억건의 데이터를 넣을수 있게되었습니다. 그런데 어찌저찌 하다 보니 그 데이터 배열이 꽉 차서 50%를 배열의 길이 늘린다고 가정 했을 때, 대략 (18+9 = 27) 27억 이라는 배열의 길이가 나옵니다.근데 여기에서 int형 범위 가 생각납니다. 검색해보니 약 22억 '+,-' 이더 라고요.이런 경우에는 어떻게 처리를 하나요?, 아니면 이런 경우는 아에 없고, 데이터의 크기가 너무 크니, 어떠한 숫자의 상한선이 되면, 다른 객체 배열을 만드나요?(2번째 경우는 글 쓰면서 생각이 나네요)답변 부탁 드립니다.
-
미해결스프링 핵심 원리 - 기본편
@Configuration과 싱글톤 강의 문의드립니다.
세 참조값이 모두 다르게 나와 문의드립니다.어디에서 문제가 생겼는지 파악 부탁드립니다.
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
선생님의 인텔리제이 설정에서 질문이 있습니다
안녕하세요 워밍업 클럽 잘 듣고 있습니다수업이랑 크게 관게 없는 질문인데 강의를 보다보면 코드 라인 옆에 커밋 내역이랑 사용자가회색 글씨로 나오더라구요어떻게 하는 건 지 궁금합니다 감사합니다
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
스레드 풀에 대해 질문 있습니다.
톰켓에 있는 스레드 풀도 Executor 인터페이스를 구현해서 생성하는건지 궁금합니다.스프링 부트를 사용한다면 톰켓에서 자체적으로 스레드 풀을 생성 할텐대 여기에 강의에서 배운것처럼 ExecutorService es = Executors.newFixedThreadPool(3); 이런식으로 직접 스레드 풀을 만들어서 사용해도 되는지 궁금합니다.
-
해결됨김영한의 실전 자바 - 중급 2편
직접 구현하는 배열리스트1 - 시작 set메서드에서 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 영한님이 만드신 배열리스트에서 set에서 궁금증이 생겨서 질문을 남깁니다.set메서드에서예전값 을 유지시키기 위하여 get메서드를 사용하여서 값을 반환 하는것을 보았습니다.근데 공부하면서 떠오르는 방법이사진 처럼 해보았고, 결과 값은 똑같이 나오더라고요.이렇게 하신 이유가 있으실까요?답변 부탁 드립니다.
-
해결됨오브젝트 - 기초편
2-2 변경과 의존성 영상 편집 오류 제보 드립니다.
안녕하세요 강사님강의를 보는데 불편함은 없지만 영상 편집이 잘못된것 같아서 제보 드립니다. 2-2 변경과 의존성 챕터시간 9:33 ~ 9:52같은 멘트가 2번 나오는것 같아요감사합니다.
-
해결됨김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
future.get()에 대해 질문 있습니다.
main 스레드에서 future.get()을 호출하면 결과값이 올때까지 다음 코드라인을 실행할 수 없는 상태가 된다고 보면 될까요?앞서 스레드들은 락 대기 집합, 스레드 대기 집합 같은 곳에서 대기를 했는데요 future.get()을 한다면 main 스레드도 대기를 할곳이 필요해 보이는데 저런 대기 집합 장소가 따로 있는지 궁금합니다.블로킹에 대한 개념을 보면서 동기/비동기, 블로킹/논블로킹에 대한 차이점에 대해 궁금해졌습니다. 구글링을 하면서 자료 조사를 했는데 여전히 헷갈리네요 혹시 간단하게 이 개념들의 차이점에 대해 설명해주실 수 있을까요
-
미해결김영한의 실전 자바 - 중급 2편
왜 이렇게 출력이 되는지 모르겠습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.dogHospital.set(dog); Dog bigger = dogHospital.bigger(new Dog("멍멍2", 200)); System.out.println("bigger ->" + bigger);여기서 출력이 왜 Animal{name = '', size =''} 로 되는 건가요?bigger()에서 return을 했을때 toString()으로 한게 아닌데 저렇게 출력 됐는지를 모르겠습니다
-
미해결Readable Code: 읽기 좋은 코드를 작성하는 사고법
toEntity
안녕하세요 선생님 강의 잘 보고 있습니다. 강의 내용과는 좀 관련이 없는 개인적인 질문인데 dto -> entity / entity ->dto 로 변환할때 선생님은 어떻게 풀어서 하시나요(mapper ,builder ..etc)? 물론 팀마다 컨벤션이 있고 뭐가 최고라고 말할 수는 없지만 정말 개인적으로 궁금해서 질문 드립니다! 감사합니다
-
미해결김영한의 실전 자바 - 기본편
다형성과 설계 문제3번 질문있습니다!
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 다형성과 설계 문제3번 질문있습니다!!김영한선생님께서 풀이하신 대로 메인에다 Scanner를 사용하는 것과 Scan을 하는 클래스를 따로 만들어서 사용하는 것 둘 중에 어떤 것이 효과적인가요?? 위 코드에서 아쉬운 점이나, 보다 효율적인 방향으로 풀이하는 방법이 있을까요??
-
미해결김영한의 실전 자바 - 기본편
Account account = new Account();
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요.이런 객체는 왜 만드는건가요? 본질적으로 이해가 안되서 여쭈어봅니다..