inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

기본형vs참조형3-메서드호출과 관련해서 Integer 객체와 관련하여 질문이 있습니다.

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의의 10분51초에서 참조형 객체는 함수로 매개변수를 불러들일경우, 주소값을 가져와서 함수내에서 값이 변경되면 주소값의 값이 바뀐다고 들었습니다. 다만, Integer 객체의 경우, 참조객체인것으로 알고있는데, 아래와 같이 Data 가 아닌 Integer 객체를 전달하니 두 결과가 모두 10이 나옵니다. Integer 값은 왜 바뀌지 않는것인가요? public class Ref { public static void main(String[] arg){ Integer a = 10; System.out.println(a); change(a); System.out.println(a); } private static void change(Integer x){ x =20; } }

  • java
  • 객체지향
suhwoo_chu 댓글 2 좋아요 0 조회수 278

순수 jdbc h2Database와 연동

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Wrong user name or password 에러가 뜨는데 어떻게 해야되나요? org.h2.jdbc.JdbcSQLInvalidAuthorizationSpecException: Wrong user name or password [28000-224] 이 오류가 떠요

  • java
  • spring
  • mvc
  • spring-boot
kimoon Hong 댓글 1 좋아요 0 조회수 369

런타임 예외를 사용해야 하는 이유에 대해

해결됨

스프링 DB 1편 - 데이터 접근 핵심 원리

체크예외보다는 런타임 예외를 사용해야 하는 이유에 대해 다음과 같이 정리해봤는데, 잘 이해하고 있는 게 맞을까요? 체크예외든, 언체크예외든 대부분의 예외는 컨트롤러나 서비스 계층에서 복구가 불가능한 예외이다. 하지만 이 중에서 언체크예외를 사용한다면, 컨트롤러와 서비스 계층에서 디테일한 예외까지 의존하고 알 필요가 없어진다. 이러한 한 가지의 이유로 언체크예외를 사용하는 것이 더 좋다.

  • spring
  • mvc
  • spring-jdbc
재영 댓글 2 좋아요 0 조회수 225

로그 관련 질문

해결됨

스프링 DB 1편 - 데이터 접근 핵심 원리

예외와 관련된 로그를 찍는데 로그 레벨을 log.error가 아닌 info로 두는 이유가 있나요? System.out.print()보다 log를 남기는 방법이 더 선호되는 이유가 있나요? 에러라는 표현과 예외라는 표현은 같다고 봐도 무방할까요? 감사합니다.

  • spring
  • mvc
  • spring-jdbc
재영 댓글 1 좋아요 0 조회수 208

H2Database 로컬 호스트에서 거부

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 이렇게 해서 접속을 했는데 거부합니다. 홈화면에 test.mv .db까지 완성한 단계입니다.

  • java
  • spring
  • mvc
  • spring-boot
kimoon Hong 댓글 2 좋아요 0 조회수 462

cmd

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 빌드하고 실행하기 부분에서 명령프롬프터를 사용하신것 같은데 윈도우 파워쉘로 사용해도 되나요??

  • java
  • spring
  • mvc
  • spring-boot
yy3082 댓글 2 좋아요 0 조회수 348

언체크 예외를 던질 때

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

자바 오버라이딩 규칙 중에서 부모보다 같거나 적은 개수의 예외를 던져야 한다고 알고 있습니다. 그런데, Runnable 구현 클래스의 run()에 'throws RuntimeException'을 선언하면 컴파일 오류가 발생하지 않는데 왜 그런건가요? 부모보다 많은 개수의 예외를 던졌으니 컴파일 오류가 발생해야 하는 것 아닌가요..? 제가 무엇을 잘못 알고 있는 걸까요?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
도토리 댓글 2 좋아요 1 조회수 424

회원목록 번호

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 회원을 등록하고 조회하면 1 ~ 2 ~ 이렇게 번호가 매겨지는 게 어떻게 되는 건가요??

  • java
  • spring
  • mvc
  • spring-boot
y11e 댓글 1 좋아요 0 조회수 188

깃허브

미해결

코딩으로 학습하는 리팩토링

혹시 운영하시는 깃허브에 강의 자료가 제공되나요?

  • java
  • intellij-idea
  • 리팩토링
김지원 댓글 1 좋아요 0 조회수 220

메세지 설정 파일 라이브러리 아이디어 질문

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

메세지 국제화 수업을 들으며 생각한 것이 있습니다. 만약 messages_ en.properties 를 작성한다면 간편한 설정으로 하여금 기준 메세지 설정 파일을 기준으로 messages_ko 등 messages_ XxXx.properties 를 자동으로 만들어주는 라이브러리같은 것이 있을까요? 직접 구현하려면 매우 어려운 작업일까요? 지금 생각으로는 구글 번역기 API 정도를 활용해서 (번역이 완벽히 정확하진 않겠지만) 내가 원하는 messages_ XxXx.properties를 자동 생성해주는 라이브러리를 만들기를 시도해볼까 생각입니다. 이미 있는 기능일까봐요. 검색도 해보고 chatGPT에도 물어봤는데 있는 것 같지는 않더라구요.

  • spring
  • mvc
영한노게임 댓글 1 좋아요 0 조회수 194

스프링 입문 콘솔 warn 표시

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

MVC와 템플릿 엔진 강의 06:51 실행하여도 INFO문만 찍히고 강의와 달리 WARN은 발생하지 않습니다. 콘솔에 찍힌 값은 다음과 같습니다. 2024-07-30T10:30:55.095+09:00 INFO 33580 --- [hello-spring] [ main] h.hello_spring.HelloSpringApplication : Starting HelloSpringApplication using Java 17.0.11 with PID 33580 (C:\Users\user\IdeaProjects\hello-spring\build\classes\java\main started by user in C:\Users\user\IdeaProjects\hello-spring) 2024-07-30T10:30:55.115+09:00 INFO 33580 --- [hello-spring] [ main] h.hello_spring.HelloSpringApplication : No active profile set, falling back to 1 default profile: "default" 2024-07-30T10:30:57.606+09:00 INFO 33580 --- [hello-spring] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port 8080 (http) 2024-07-30T10:30:57.631+09:00 INFO 33580 --- [hello-spring] [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2024-07-30T10:30:57.631+09:00 INFO 33580 --- [hello-spring] [ main] o.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/10.1.26] 2024-07-30T10:30:57.775+09:00 INFO 33580 --- [hello-spring] [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2024-07-30T10:30:57.776+09:00 INFO 33580 --- [hello-spring] [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2539 ms 2024-07-30T10:30:58.049+09:00 INFO 33580 --- [hello-spring] [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html] 2024-07-30T10:30:58.643+09:00 INFO 33580 --- [hello-spring] [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path '/' 2024-07-30T10:30:58.663+09:00 INFO 33580 --- [hello-spring] [ main] h.hello_spring.HelloSpringApplication : Started HelloSpringApplication in 4.99 seconds (process running for 7.892) 2024-07-30T10:31:29.971+09:00 INFO 33580 --- [hello-spring] [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet' 2024-07-30T10:31:29.972+09:00 INFO 33580 --- [hello-spring] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet' 2024-07-30T10:31:29.975+09:00 INFO 33580 --- [hello-spring] [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 2 ms 제 코드는 다음과 같습니다. package hello.hello_spring.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class HelloController { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "hello!!"); return "hello"; } @GetMapping("hell-mvc") public String hellmvc(@RequestParam("name") String name, Model model) { model.addAttribute("name", name); return "hello-template"; } }

  • java
  • spring
  • mvc
  • spring-boot
JongYun Won 댓글 1 좋아요 0 조회수 198

H2 v2.2.4와 실행모드 관련 질문

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

안녕하세요 현재 강의 한참 초반부라고 할 수 있는 "데이터베이스 연결"부분을 보고 있는데요, 강사님께서 사용하는 H2 모드가 임베디드 모드인가요 서버모드인가요? 강의 1:09초 즈음 노출되는 화면을 보면 모드는 임베디드 모드이고, JDBC URL은 jdbc:h2:tcp:// localhost/~/test 로 보이는데요 저는 h2 버전 2.2.4를 이용 중인데 서버 모드일 때는 JDBC URL이 jdbc:h2:tcp:// localhost/~/test 형태이지만, 임베디드 모드일 때는 jdbc:h2:~/test 입니다. DBConnectionUtilTest 가 자꾸 실패하여, JDBC URL을 임베디드 모드일 때의 url로 변경하고 서버를 내리면(= ./bin/h2 실행 종료)하면 테스트 코드가 성공하는데요, 서버 모드의 url로 변경하면 테스트 코드 실패는 둘째치고 웹 콘솔에서 h2를 실행하려 할 때 아래와 같이 에러가 발생합니다. 찾아보니 h2의 임베디드 모드 자체가, 여러 클라이언트가 접근 불가능한 모드이고 하나의 jvm 인스턴스만 접근 가능하다고 되어 있기 때문에, h2 실행파일을 종료하고 테스트코드가 성공하는게 자명하다고 느껴지긴 하는데요.. 영상에서 강사님이 진행하는 과정과 너무 달라지기도 하고, h2 서버모드 실행 시 sonarqube 관련 에러가 발생하는게 의아해서 질문 남깁니다.

  • spring
  • mvc
  • spring-jdbc
김진호 댓글 1 좋아요 0 조회수 162

타임에러가 왜 나타나는지 모르겠습니다

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

static void solution(Queue<Point> q, int[][] box) { while (!q.isEmpty()) { // int len = q.size(); // for (int i = 0; i < len; i++) { Point tmp = q.poll(); for (int j = 0; j < 4; j++) { int nx = tmp.x + dx[j]; int ny = tmp.y + dy[j]; if (nx >= 0 && ny >= 0 && nx < n && ny < m && box[nx][ny] == 0) { box[nx][ny] = 1; q.offer(new Point(nx, ny)); dis[nx][ny] = dis[tmp.x][tmp.y] + 1; } // } } } } 위에서 주석처리된 queue의 사이즈를 구한 후 레벨 탐색(?)으로 진행하게 되면 타임에러가 발생하는데 왜 발생하는지 모르겠습니다. 성능 차이가 많이 나나요 ?

  • java
  • 코딩-테스트
이세찬 댓글 1 좋아요 0 조회수 153

test 메서드 작성 시 질문

해결됨

스프링 DB 1편 - 데이터 접근 핵심 원리

보통 저는 모든 메서드 명에 대해서 camel case로 작성을 합니다. 혹시, 강의 영상에서 테스트 메서드 명에 대해서 snake case로 작성하시는 이유가 있나요? 테스트 메서드 명에 대한 규약인가 싶어서 질문 드립니다.

  • spring
  • mvc
  • spring-jdbc
재영 댓글 1 좋아요 1 조회수 154

mappedBy 값은 유니크해야하나요?

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

mappedBy = "aaa" 여기에 들어가는 aaa 값은 프로젝트 통틀어 유니크 해야하나요?

  • java
  • jpa
이사라 댓글 1 좋아요 0 조회수 167

회원 목록 조회가 안됩니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원가입에서 회원가입 등록후 회원 목록에서 조회가 안됩니다. 콘솔에 찍어보니 회원 등록은 정상적으로 잘 되는 것 같은데 목록 조회가 안됩니다. 파일 첨부하겠습니다! 감사합니다 :) https://drive.google.com/file/d/1W7jN-wppJGC_hbWtQoa4PBvN0LRa41X9/view?usp=sharing

  • java
  • spring
  • mvc
  • spring-boot
eesomin 댓글 1 좋아요 0 조회수 120

static 관련해서 메모리 구조가 헷갈립니다.

미해결

김영한의 실전 자바 - 기본편

궁금한 점 static 메서드는 일반메서드처럼 메서드 영역에 위치하나요? 1-1. 맞다면, static 키워드의 단점으로 GC에 대상이 되지 않아서 자주 사용한다면 메모리 효율이 떨어진다고 알고있습니다. 그런데 static 메서드나 일반메서드나 GC 대상이 되지 않는 메모리 영역에 있는거 아닌가요? 아니라면 어디에 위치하는지 궁금합니다. 제가 궁금하게 된 계기가 유틸 클래스를 주로 @Bean이 아닌 staitc 메서드를 모아둔 형태로 사용하는 이유가 궁금해서 찾아보다가 다른 영한님 서포터즈 분이 답변하신 글을 보았습니다. https://www.inflearn.com/community/questions/472317/%EC%98%81%ED%95%9C%EB%8B%98-%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4 " 사용빈도가 너무 희소하다면, static으로 관리하기 보단 필요할떄마다 new 로 생성해서 쓰는게 더 효율적일 수도 있습니다. GC의 효율이 예전처럼 나쁘지 않습니다. 자주 사용하지 않는 객체를 메모리에 상주시키것이 더 낭비일 수 있습니다." 위 답변으로 미루어 보아 단순히 static 메서드가 메모리에 올라가는게 아니라 힙 영역이 아닌 static 메서드를 가지고 있는 객체 형태(?)로 다른 메모리에 올라간다고 이해해서 헷갈립니다.

  • java
  • 객체지향
구코딩 댓글 1 좋아요 0 조회수 253

Enum 과 null object pattern

미해결

김영한의 실전 자바 - 중급 1편

public enum HttpStatus { NONE(-1, "정의되지 않은 상태코드입니다."), OK(200, "OK"), BAD_REQUEST(400, "Bad Request"), NOT_FOUND(404, "Not Found"), INTERNAL_SERVER_ERROR(500, "Internal Server Error"); ... public static HttpStatus findByCode(int code) { for (HttpStatus status : HttpStatus.values()) { if (status.getCode() == code) { return status; } } return HttpStatus.NONE; } public boolean isSuccess() { return code >= 200 && code < 300; } } public class HttpStatusMain { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("HTTP CODE: "); int httpCodeInput = scanner.nextInt(); HttpStatus status = HttpStatus.findByCode(httpCodeInput); System.out.println(status.getCode() + " " + status.getMessage()); System.out.println("isSuccess = " + status.isSuccess()); } } 안녕하세요 김영한 강사님. 먼저 항상 양질의 강의를 제공해주셔서 감사하다는 말씀을 전해드리고 싶습니다. HttpStatusMain 에서 null 체크하는 일이 발생하여 이를 제거해보면 어떻게 해야할까 에 대한 고민이 들었습니다. 그래서, Enum 에 null object pattern 을 적용해보면 어떨까 하여 HttpStatus.NONE(-1, "정의되지 않은 상태코드입니다.") 와 같이 정의해봤습니다. 이렇게 적용했을 때, 1. 다른 사이드 이펙트가 있을까요? 1-1. findByCode() 에서 return HttpStatus.NONE 이 아닌 throw new IllegalArgumentException("해당하는 상태코드가 없습니다."); 와 같이 RuntimeException 을 날리는 것이 더 나은 방법일까요? 2. 현업에서는 enum 타입의 null check, null object pattern 를 어떻게 구현하는지 궁금합니다. 긴 글 읽어주셔서 감사합니다.

  • java
  • 객체지향
  • null
  • enum
rjf1138 댓글 1 좋아요 1 조회수 248

인기 태그

인프런 TOP Writers

주간 인기글