안녕하세요, 7분 34초 경에 질문이 있습니다. 정적 메서드에서 인스턴스 변수에 접근할 수 없어 오류가 난다고 하셨는데, 만약, Person.callDisplayName(); 이 아니라 p1.callDisplayName(); 로 하면 에러가 나지 않고 정상 출력으로 Name: Alice가 나오는지 궁금합니다. 만약 그래도 에러가 난다면 this가 private 인스턴스 변수를 가리켜서 그런걸까요? private String name이 아니라 public String name으로 바꾸면 인스턴스 변수이지만 접근 가능한지 궁금합니다.
안녕하세요, 널널한 개발자님! 이번 강의에서 clone(), Arrays.copyOf(), System.arraycopy()가 깊은 복사를 수행한다고 설명해주셨는데, 제가 알고 있는 바로는 이 기능들이 얕은 복사를 수행한다고 알고 있어 의문이 들어 질문드립니다:) 먼저 다음은 강의의 예제를 바탕으로 작성한 코드입니다. import java.util.Arrays; public class Test_1 { public static void main(String[] args) { int[] array1 = {10, 20, 30, 40, 50}; System.out.println("array1: " + Arrays.toString(array1)); //int[] array2 = array1; int[] array2 = array1.clone(); //int[] array2 = Arrays.copyOf(array1, array1.length); //int[] array2 = new int[5]; //System.arraycopy(array1, 0, array2, 0, array1.length); System.out.println("array2: " + Arrays.toString(array2)); System.out.println(); array1[0] = 100; System.out.println("array1[0] -> 100"); System.out.println("array1: " + Arrays.toString(array1)); System.out.println("array2: " + Arrays.toString(array2)); System.out.println(); array2[1] = 200; System.out.println("array2[1] -> 200"); System.out.println("array1: " + Arrays.toString(array1)); System.out.println("array2: " + Arrays.toString(array2)); } } 위 예시에서 강의에서 설명한 대로 clone(), Arrays.copyOf(), System.arraycopy()가 깊은 복사를 수행한다고 생각할 수 있지만 사실 int[]와 같은 값 타입에서는 이를 깊은 복사보다는 단순한 값 복사로 보는 것이 더 적절하다고 생각이 듭니다.(개인적인 생각입니다!) 다음은 참조 타입을 사용한 코드입니다. import java.util.Arrays; public class Test_2 { public static void main(String[] args) { Person[] array1 = { new Person("Hello"), new Person("Hi"), }; Person[] array2 = array1.clone(); //Person[] array2 = Arrays.copyOf(array1, array1.length); //Person[] array2 = new Person[2]; //System.arraycopy(array1, 0, array2, 0, array1.length); System.out.println(array1[0].name + ", " + array1[1].name); System.out.println(array2[0].name + ", " + array2[1].name); System.out.println(); array1[0].name = "Good"; System.out.println("array1[0].name = Good"); System.out.println(array1[0].name + ", " + array1[1].name); System.out.println(array2[0].name + ", " + array2[1].name); System.out.println(); array2[1].name = "Nice"; System.out.println("array2[1].name = Nice"); System.out.println(array1[0].name + ", " + array1[1].name); System.out.println(array2[0].name + ", " + array2[1].name); } } class Person { String name; Person(String name) { this.name = name; } } 참조 타입인 Person[] 배열을 사용했을 때 clone(), Arrays.copyOf(), System.arraycopy()가 얕은 복사를 수행하는 것을 확인할 수 있습니다. clone(), Arrays.copyOf(), System.arraycopy()와 같은 기능들이 값 타입 배열에서 깊은 복사처럼 동작한다고 생각할 수 있겠지만 단순한 값 복사라고 생각이 들며, 참조 타입 배열에서는 확실하게 얕은 복사를 수행합니다. clone(), Arrays.copyOf(), System.arraycopy()가 값 타입에 대해서만 깊은 복사를 수행한다고 할 수 있는지 이에 대해 좀 더 명확한 설명을 듣고 싶습니다:)
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 마지막에 말씀하신 생성된 걸 그대로 쓰지 말라고 하셨는데 그러면 ddl-auto는 참고만 하고, DB 생성은 직접 하는 게 좋다는 의미인 거죠? 그리고 찾아보니 ddl-auto에 create-drop라는 것도 있던데, 강의에선 create로 하셨지만 create-drop을 하는 게 테이블 참고용으로는 더 편리하려나요?
18:26 본 문제의 case 문에서 switch 조건에 해당하는 숫자는 8이므로, case 8에서 작동을 하였는데, 밑에 있는 case 7, 6은 case8이 아닌데도 작동을 하는건가요? case 문의 위에서 작동하는게 한번 걸렸다면, 아래에는 break 등 제약을 거는게 없다면 모두 작동한다고 보면 되나요?
본 문제의 답변 쿼리문에 대한 질문 세 가지가 있습니다. 쿼리의 영문은 반드시 대문자로 작성해야 하나요? 실제 DBMS 작업에서는 소문자로도 작성하여도 작동하는데 문제가 없어서 문의드립니다. into 학생 (학번, 이름....) 부분에서 into 학생(학번, 이름....) 과 같이 학생과 괄호 부분에 띄어쓰기를 쓰지 않고 붙여써도 답으로 인정될지 궁금합니다. 마지막에 세미콜론(;)을 붙이지 않아도 정답이 될지 궁금합니다.
- 강의 영상에 대한 질문이 있으시면, 상세히 문의를 작성해주시면, 주말/휴일 제외, 2~3일 내에 답변드립니다 (이외의 문의는 평생 강의이므로 양해를 부탁드립니다.) - 강의 답변이 도움이 안되셨다면, dream@fun-coding.org 로 메일 주시면 재검토하겠습니다. - 괜찮으시면 질문전에 챗GPT 와 구글 검색을 꼭 활용해보세요~ - 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 강의 내용을 질문할 경우 몇분 몇초의 내용에 대한 것인지 반드시 기재 부탁드립니다. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 세번째 cell에서 print('array1: {:0}차원, array2: {:1}차원, array3: {:2}차원'.format(array1.ndim,array2.ndim,array3.ndim)) {:0} {:1} {:2} 이것들이 의미하는게 궁금합니다
안녕하세요, 4분 17초에서 conn1.count(); 하면 count++가 되어 conn1에 있는 count는 1이 된다고 하였습니다. private int count; 라고 선언된 부분이 있는데, private인데 static도 없어서 클래스 외부에서 직접 접근할 수 없어 컴파일러 에러가 나지 않나요?
안녕하세요, (기출) 2023년 1회 코드해석 문제 중 29:16초 질문 있습니다. public Car(String Val)로 넣을 때, 앞서 부모 생성자를 거쳐야하는데, public Vehicle 이라고 되는 부분이 없어서 컴파일 오류 난다고 생각했습니다. 왜 컴파일 오류가 나지 않고 출력이 가능한건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 서비스에서 조회가 필요할때 연관관계를 설정하여 객체를 통한 조회가 그냥 Bean의 Repository를 통해 조회하는것보다 실무에서 어떤 점이 좋은지 궁금합니다. 어차피 지연 로딩이면 저장소 조회가 낫지 않나 싶어서요 감사합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 중 sleep(10) 코드를 넣고, 계산 속도가 너무 빨라서 , 다른 스레드와 동시 실행을 위해 잠깐 쉬었다가 실행을 한거라는데 이게 이해가 잘 안됩니다 제 생각엔 빨리 실행되어야 여러 스레드들이 동시에 공유변수 value에 접근해서 동시 실행될때가 많을 것 같은데, 왜 잠깐 쉬었다가 실행해야 더 충돌 횟수가 많아져서 result가 낮은 값이 나오는지 모르겠습니다. sleep(10)을 하면 실행 속도가 느려져서 오히려 경쟁 상태가 완화되어야하는거 아닌가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 어떤 것이 문제인지 잘 모르겠습니다. springConfig도 정확히 입력했고 gradle파일과 properties파일도 정확히 작성했습니다. H2도 켜놓은 상태인데 오류가 나오네요. Member에 있는 데이터도 다 지웠고요. java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@6108fd23 testClass = hello.hello_spring.service.MemberServiceIntegrationTest, locations = [], classes = [hello.hello_spring.HelloSpringApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.OnFailureConditionReportContextCustomizerFactory$OnFailureConditionReportContextCustomizer@6f204a1a, org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties .PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@7b4c50bc, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@491b9b8, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@5a5a729f, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1500b2f3, org.springframework.boot.test.web.reactor.netty.DisableReactorResourceFactoryGlobalResourcesContextCustomizerFactory$DisableReactorResourceFactoryGlobalResourcesContextCustomizerCustomizer@3aa078fd, org.springframework.test.context.support .DynamicPropertiesContextCustomizer@0, org.springframework.boot.test.context.SpringBootTestAnnotation@6e5c6e5c], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:180) at org.springframework.test.context.support .DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:200) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:139) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:160) at java.base/ java.util.stream .ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) at java.base/ java.util.stream .ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/ java.util.stream .ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/ java.util.stream .ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708) at java.base/ java.util.stream .AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/ java.util.stream .AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/ java.util.stream .ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) at java.base/ java.util.stream .ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) at java.base/ java.util.stream .AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/ java.util.stream .ReferencePipeline.forEach(ReferencePipeline.java:596) at java.base/java.util.Optional.orElseGet(Optional.java:364) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberController' defined in file [C:\Users\deukr\hello-spring\hello-spring\out\production\classes\hello\hello_spring\controller\MemberController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'springConfig' defined in file [C:\Users\deukr\hello-spring\hello-spring\out\production\classes\hello\hello_spring\SpringConfig.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.hello_spring.repository.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,springDataJpaMemberRepository