정적 중첩 클래스 문의
미해결
김영한의 실전 자바 - 중급 1편
정적 중첩 클래스같은경우 일반 클래스와 마찬가지로 클래스 정보는 메서드영역에 저장되고 인스턴스 생성시 인스턴스는 힙영역에 저장되잖아요? 그럼 정적 중첩 클래스를 많이 써도 어차피 인스턴스는 gc의 대상이니 대량의 데이터를 사용하지않는 한 메모리 부하를 주지는 않죠? 궁금하네요~!
- java
- 객체지향
172만명의 커뮤니티!! 함께 토론해봐요.
미해결
김영한의 실전 자바 - 중급 1편
정적 중첩 클래스같은경우 일반 클래스와 마찬가지로 클래스 정보는 메서드영역에 저장되고 인스턴스 생성시 인스턴스는 힙영역에 저장되잖아요? 그럼 정적 중첩 클래스를 많이 써도 어차피 인스턴스는 gc의 대상이니 대량의 데이터를 사용하지않는 한 메모리 부하를 주지는 않죠? 궁금하네요~!
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
안녕하세요. 강의 잘 듣고 있습니다. 제가 원래 질문이 많은데 개념을 이해가 잘 되도록 쉽게 설명해 주셔서 질문 드릴게 별로 없네요. 보통 api path에 id를 추가하시는거 같은데요. 현업에서도 auto_increment나, snowflake id같은 db에서 쓰는 id를 그대로 넣고 사용하시나요? 아니면 prefix등을 추가하여 조금 더 가공을 한다든지 하시나요? 숫자만 들어가니 좀 밋밋해 보이기도 하고 알아보기도 힘들거 같기도 해서요.
해결됨
김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 여쭤볼게 있어서 질문을 드립니다. 영한님이 내준 과제 채팅 프로그램 만들고 싶은데 못 만듭니다. 근데 여기서 저는 혼자서 만들고 싶은 욕구가 강해서 계속 진도가 못나가는 상황인데요. (영한님 말중에 "레고볼릭 조립하듯이", 이때까지 배운 내용들을 잘 조립하면 될것 같은데 라는 생각이 계속 나네요) 근데 계속 시간을 써도 안되니 나중에 풀자라고 굳혀진 상황입니다. 채팅 프로그램 챕터를 뛰어넘고 http 챕터 쪽으로 넘어 갈려고 하는데, 채팅프로그램 챕터를 건너뛰고, http챕터쪽으로 가도 문제가 없는지 알고 싶습니다. 답변 부탁드립니다.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
2023년 2회 29분 정렬 구현 문제 답이 2개 아닌가요? 저는 >, < 모두 정답인 것 같아서요 ㅠㅜ
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 오라클과 jpa를 사용중인데요.. 엔터티에서 id 지정할 때 .generatedValue.identity 옵션이 적용이 불가합니다 그래서 auto나 다른 옵션으로 주면 테이블의 아이디값이 무작위로 나오는거 같은데요 mysql처럼 1부터 순서대로 나오게 하고 싶으면 어떻게 해야 할까요?.. 아시는 분은 답변 주시면 감사하겠습니다
미해결
Flutter 고급 - 현업 수준의 아키텍처
안녕하세요 질문이 2개있습니다. 강의 듣던중 에뮬레이터 실행하니 FAILURE: Build failed with an exception. * Where: Build file 'C:\workspace\Flutter\android\app\build.gradle' line: 5 * What went wrong: An exception occurred applying plugin request [id: 'dev.flutter.flutter-gradle-plugin'] > Failed to apply plugin 'dev.flutter.flutter-gradle-plugin'. > No such property: source for class: java.lang.String * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 590ms Error: Gradle task assembleDebug failed with exit code 1 에러가 났는데 뭐가문제일까요? plugins { id "com.android.application" id "kotlin-android" // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins. id "dev.flutter.flutter-gradle-plugin" } android { namespace = "com.survivalcoding.flutter_recipe_app_course" compileSdk = flutter.compileSdkVersion ndkVersion = flutter.ndkVersion compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8 } defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId = "com.survivalcoding.flutter_recipe_app_course" // You can update the following values to match your application needs. // For more information, see: https://flutter.dev/to/review-gradle-config. minSdk = flutter.minSdkVersion targetSdk = flutter.targetSdkVersion versionCode = flutter.versionCode versionName = flutter.versionName } buildTypes { release { // TODO: Add your own signing config for the release build. // Signing with the debug keys for now, so `flutter run --release` works. signingConfig = signingConfigs.debug } } } flutter { source = "../.." } ============================================================ file > settings > build Tools > gradle 설정 부분에서 jdk 설정부분이 없습니다. PS C:\workspace\Flutter> flutter config --list All Settings: enable-web: (Not set) enable-linux-desktop: (Not set) enable-macos-desktop: (Not set) enable-windows-desktop: (Not set) enable-android: (Not set) enable-ios: (Not set) enable-fuchsia: (Not set) (Unavailable) enable-custom-devices: (Not set) cli-animations: (Not set) enable-native-assets: (Not set) (Unavailable) enable-flutter-preview: (Not set) (Unavailable) enable-swift-package-manager: (Not set) (Unavailable) jdk-dir: C:\Program Files\Java\jdk-17 PS C:\workspace\Flutter> flutter doctor -v [√] Flutter (Channel stable, 3.24.0, on Microsoft Windows [Version 10.0.26100.2314], locale ko-KR) • Flutter version 3.24.0 on channel stable at C:\flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 80c2e84975 (8 months ago), 2024-07-30 23:06:49 +0700 • Engine revision b8800d88be • Dart version 3.5.0 • DevTools version 2.37.2 [√] Windows Version (Installed version of Windows is version 10 or higher) [√] Android toolchain - develop for Android devices (Android SDK version 35.0.1) • Android SDK at C:\Users\hong\AppData\Local\Android\sdk • Platform android-35, build-tools 35.0.1 • Java binary at: C:\Program Files\Java\jdk-17\bin\java • Java version Java(TM) SE Runtime Environment (build 17.0.14+8-LTS-191) • All Android licenses accepted. [√] Chrome - develop for the web • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe [!] Visual Studio - develop Windows apps (Visual Studio Build Tools 2019 16.11.42) • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools • Visual Studio Build Tools 2019 version 16.11.35425.106 • Windows 10 SDK version 10.0.19041.0 X The current Visual Studio installation is incomplete. Please use Visual Studio Installer to complete the installation or reinstall Visual Studio. [√] Android Studio (version 2024.3) • Android Studio at C:\Program Files\Android\Android Studio • Flutter plugin can be installed from: https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 21.0.5+-12932927-b750.29) [√] VS Code (version 1.96.4) • VS Code at C:\Users\hong\AppData\Local\Programs\Microsoft VS Code • Flutter extension can be installed from: https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter [√] Connected device (4 available) • sdk gphone64 x86 64 (mobile) • emulator-5554 • android-x64 • Android 16 (API 36) (emulator) • Windows (desktop) • windows • windows-x64 • Microsoft Windows [Version 10.0.26100.2314] • Chrome (web) • chrome • web-javascript • Google Chrome 134.0.6998.89 • Edge (web) • edge • web-javascript • Microsoft Edge 132.0.2957.127 [√] Network resources • All expected network resources are available. ! Doctor found issues in 1 category. PS C:\workspace\Flutter> flutter config --list 명령어하면 jdk는 17이고 flutter doctor -v 하면 jdk가 21로잡혀있어서 버전이 다른데 jdk 설정하는부분이 없는데 어떻게하면 오류해결과 jdk 수동설정 가능하게 할 수 있을까요?
미해결
자바 코딩테스트 - it 대기업 유제
예외 값 테스트를 해보다가 발견하게 되었는데 ``` System.out.println(T.solution(new int[][]{{2, 4, 7}, {13, 13, 12}})); ``` 이렇게 테스트를 해보니 14가 나오더라구요. 제가 문제를 정확하게 이해하지 못한 것인지, 반례가 있는 것인지 궁금합니다.
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오) [질문 내용] Scanner사용시 항상 닫아줘야한다고 들었는데 아닌가요? 강의에서 한번도 sc.close(); 에 대한 설명이 없어서 문의드립니다.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
Boolean 에 대한 강의가 없어요
미해결
RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
안녕하세요, 스탭4 news 스크립트 코드가 궁금해 질문드립니다. 우선 영상처럼 curl -X POST " http://localhost:8080/news/api/publish?newsType=ja " curl -X POST " http://localhost:8080/news/api/publish?newsType=sp " curl -X POST " http://localhost:8080/news/api/publish?newsType=vu " 컬로 3번 찌르면 아래 사진과 같이 응답값이 찍히는데요 스크립트 부분에서 connect 함수 실행시 현재 선택한 const newsType = document.getElementById("newsType").value; (java선택) 값이 java이라 subscribeToNews(newsType); 이부분에 subscription = stompClient.subscribe( /topic/java, function (message) { alert(message.body); addMessageToDiv(message.body); }); 이렇게 /topic/java만 subscribe 할텐데 어떻게 spring , vue가 나왔는지 궁금합니다. curl 요청 -> restController -> publisher 에서 publishMessage 메서드를 통해 fanout으로 bindingBuilder가 설정된 큐에 send -> 클라이언트(html)에서 stomp를 이용해 구독 로직인것같은데 클라이언트(html)에서 /topic/java만 구독한상태에서 다른 vue, spring을 받은지 궁금합니다
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 야생형 로드맵 따라서 현재 활용 1편을 듣고 있습니다. 지금 팀 프로젝트 중이고 기본 편의 이론은 제대로 배우지 못했어서 이론을 정확히 알진 않습니다. 그런데 연관 관계 매핑할 때 전부 단방향으로 구현하는 것도 가능할까요? 양방향으로 구현하게 되면 연관 관계 메서드 만들 때 setter나 Builder 등을 쓰게 될 거 같은데, 단방향으로 구현하게 되면 그런 걸 신경 쓰지 않아도 될 것 같다는 생각이 듭니다. 물론 장단점이 있겠지만, 전부 단방향으로 구현해도 큰 상관이 없다면 일단 전부 단방향으로 구현해 보고, 나중에 양방향에 대해 제대로 공부하고 그때부터 단방향, 양방향을 고민해 볼까 하는데.. 단방향으로만 구현하는 게 문제가 될 수 있을까요?
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 그냥 영한님의 생각이 궁금합니다。 저도 나중에 개발을 할텐데、 어떤건 Repository가있고、 어떤건 Repository없고、。。궁금합니다¡
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
문자열과 배열은 &를 생략하고 처음 *는 포인터 변수 선언에 사용되는 것 까지는 이해가 됐는데, 출력할 때, printf("입력된 문자열: %s\n", str); 이부분에서 문자열의 값을 출력하기 위해서는 printf("입력된 문자열: %s\n", *str ); 이렇게 *를 붙여야 하는게 아닌가요? &처럼, 주소가 담고있는 값을 출력할 때 쓰이는 *도 문자열과 배열에서는 생략하는건가요??
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
조건문 v0.2.pdf 파일 2페이지에 있는 C언어 조건문 예시문제에 오류가 있습니다. #include <stdio.h> int main() { int number = 3; if (number > 5) { printf("이 숫자는 5보다 큽니다.\n"); } return 0; } 출력값: 이 숫자는 5보다 큽니다 이라고 되어있네요. 강의에선 number가 10이라고 잘 되어있는데, pdf에서만 오류가 있습니다.
해결됨
Part2: 초중급 iOS 인스타그램 클론(SwiftUI, MVVM, Firebase, 2024)
var body: some View { NavigationStack { ScrollView { } } .navigationBarBackButtonHidden() .toolbar { ToolbarItem(placement: .topBarLeading) { Button { dismiss() } label: { Image(systemName: "arrow.backward") .tint(.black) } } } //:TOOLBAR 위와 같이 ProfileView에서 body를 정의하셨는데, NavigationStack에 toolbar가 항상 나타나는 것으로 이해가 됩니다. 그렇다면, 앱을 실행하고 바로 Profile tab을 누른다면, .toolbar가 자동으로 생성되면서 dismiss()가 작동하지 않는 toolbar가 생기는 상황이 발생했습니다. 다시 FeedView로 돌아가면 기존 toolbar는 없어지지 않은채로 "<- : arrow.backward" 가 나타나고, FeedView에서 .overlay { } 로 정의된 NavigationLink 를 클릭한다면 toolbar 가 두개 생기는 것을 확인할 수 있었습니다. 두 개중 위의 버튼은 작동하지 않으며, 아래의 버튼을 누르면 dismiss()가 작동하여 Stack에 쌓인 ProfileView가 없어지면서 FeedView로 돌아가는 것을 확인할 수 있었습니다. 상황에 따라 toolbar 가 보일 수 있도록 따로 설정을 해야하는 것일까요? 다시 말해, ProfileView를 Profile을 tab하여 이동하는 경우는 .toolbar가 나타나지 않도록 해야하는 걸까요?
미해결
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
Scanner는 시간 초과 문제가 발생할 수 있다고 들었습니다. 앞으로 코딩테스트를 준비할 때 계속 Scanner를 사용하면 될까요? 아니면 BufferReader로 입력하는 법을 알아야 할까요?
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
안녕하세요 선생님 좋은 강의 잘 듣고 있습니다. C언어 빈칸 채우기 문제에서 답이 (가) start + 1 , (나) end - 1 입니다만, 혹시 답을 (가) ++start, (나) --end 로 써도 맞는지 궁금합니다. 늘 감사드립니다.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
안녕하세요 선생님 강의 잘 듣고 있습니다. 24분 13초의 배열과 포인터 증가 문제에 대해 질문 드리고자 합니다. 포인터의 증감 연산자가 배열의 각 인덱스 요소의 값 변화에 반영된다는 것은 이해했습니다만, 5번 *arr + 1 의 출력에 ptr 배열의 증감연산자로 인한 변화가 반영되는 것이 이해가 되지 않습니다. 코드의 초반에 ptr = arr;으로 ptr에 arr 배열의 주소값이 반영되고 ptr에 arr 배열의 값이 그대로 들어가 ptr이라는 배열을 새로이 구성하는 것은 이해했습니다. 하지만 저는 arr 배열은 ptr 배열과는 별개의 배열이기에 ptr 배열의 값 변화는 arr에 반영되지 않는다고 생각했습니다. arr 배열 따로, ptr 배열 따로이기에 *arr + 1은 21인게 맞지 않나요? 제가 어디서 잘못 생각한건지 여쭙고자 합니다. 저는 ptr이 arr의 주소값을 가리키기에 일종의 종속적인 관계라고 생각해서 arr에는 ptr의 변화가 반영되지 않는다고 판단했습니다. 늘 좋은 강의에 감사드립니다. +) 방금 AI 답변으로 포인터의 증감 연산자의 효과 : ptr 에 증감 연산자(예: ++*ptr 또는 *ptr++ )를 사용하면 ptr 이 가리키고 있는 해당 위치의 메모리 값이 변경됩니다. 하지만, *arr + 1 같은 표현은 메모리 상의 값을 변경하지 않고 단순히 계산하는 것에 그칩니다. 라는 내용이 달렸는데 해당 답변이 맞는 내용인지도 질문드리고 싶습니다.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
안녕하세요 선생님 강의 잘 듣고 있습니다. 소수 판별기 문제에서 2가 출력되는 것에 대해 의문이 있어 질문드리게 되었습니다. 저는 isP()에서 for문의 조건이 for (int i = 2; i < num; i++) 이기에 isP(2)의 경우 num이 2이고 이 경우 for문은 for (int i = 2; i < 2; i++) 으로 i가 2이지만 i가 2 미만이라는 조건이 있기에 2는 출력값에 포함되지 않는다고 생각했습니다. 혹시 제가 잘못 풀이한것인지, 어느 부분에서 잘못 생각한것인지 여쭙고자 합니다. 늘 좋은 강의에 감사드립니다.
미해결
Flutter 중급 3편 - 의존성 주입 가이드
di 관련해서 문의 좀 드리겠습니다. 선생님 강의를 듣고 get_it, injectable 패키지를 사용해서 di 를 실 프로젝트에도 적용 하고 있습니다. 여러 singleton 으로 생성 한 여러 usecace들을 한군데 모아 둔 usecases(OrderDetailUseCases) 를 만들어 viewModel 에 주입해서 사용하는 것을 보고 실 프로젝트에도 사용하고 있습니다. 아래 처럼요. @singleton class OrderDetailUseCases { final GetOrderDetailUseCase getDetail; final GetGoodsForBasketUseCase getGoodsForBasket; final DeleteOrderUseCase deleteOrder; OrderDetailUseCases( this.getDetail, this.getGoodsForBasket, this.deleteOrder, ); } 그런데 나중에 새로운 usecase(AddOrderUseCase) 가 생겨서 위 OrderDetailUseCases 에 추가하면 아래와 같은 오류가 뜹니다. Bad state: GetIt: Object/factory with type OrderDetailUseCases is not registered inside GetIt. (Did you accidentally do GetIt sl=GetIt.instance(); instead of GetIt sl=GetIt.instance; Did you forget to register it?) 기존에 추가 했던 getDetail, getGooodsForBasket usecase 는 잘 사용하고 있습니다 분명 build runner 명령어를 실행 해 줬음에도 불구하구요. 그래서 DeleteOrderUseCase 는 따로 가져와 viewModel 에 전달해주고 있습니다. 아래처럼요. final orderDetailViewModelProvier = StateNotifierProvider<OrderDetailViewModel, OrderDetailState>((ref) { final useCases = getIt<OrderDetailUseCases>(); final deleteOrderUc = getIt<DeleteOrderUseCase>(); return OrderDetailViewModel( useCases, deleteOrderUc, ); }); 전 하나의 useCases 에 다 넣고 싶거든요..ㅡ,.ㅡ 이게 패키지가 좀 stable 하지 못한 거 같은 느낌인데 이런 경우를 못 보셨는지요? 경우가 있다면 어떻게 해법이 있는지 들어보고 싶습니다.