inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

5:57에 printEven은 true지만 !printEven은 true가 아닌것(!)이라서 false라고 설명해주신건가요? 그래야 &&조건이 둘다 참이여야해서 볼 필요도 없다고 하신거겠죠..?

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

질문은 동영상 강의에서 오른쪽에 커뮤니티 버튼을 통해 해주세요. 그렇게 해주셔야 어떤 강좌에서 질문하셨는지 알 수 있습니다. 영상에서 몇 분 몇 초 대를 알려주셔야 한 번에 확인이 가능합니다. 이미 다른 누군가가 질문을 한 이력이 있을 수 있습니다. 질문 게시판을 한 번 확인 부탁드립니다. 질문을 올릴 때 이 글은 모두 지우고 내용을 입력해주세요.

  • python
  • java
  • c
  • 정보처리기사
지가흔 댓글 1 좋아요 0 조회수 184

연관 관계 저장 시 궁금한 점.

미해결

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

영한님 안녕하세요. 강의를 잘 듣고 있습니다! 학습 중 궁금한 점이 있어 질문 드립니다. 엔티티를 저장할 때에는 연관된 엔티티가 모두 영속 상태여야 한다고 알고 있습니다. 다음 코드에서 현재 user와 연관된 teamB는 영속 상태가 아닙니다. 따라서 실행 시 에러가 발생할 것으로 예상했습니다. 그러나 에러 없이 잘 동작하였고, DB를 확인해 보니 user의 team이 현재 연관된 teamB가 아니라 teamA로 되어 있었습니다. @Entity @Table(name="users") public class User { @Id @GeneratedValue @Column(name="user_id") private Long id; private String username; @ManyToOne @JoinColumn(name="team_id") private Team team; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Team getTeam() { return team; } public void setTeam(Team team) { this.team = team; } } @Entity public class Team { @Id @GeneratedValue @Column(name="team_id") private Long id; private String teamName; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getTeamName() { return teamName; } public void setTeamName(String teamName) { this.teamName = teamName; } } public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try{ Team teamA = new Team(); teamA.setTeamName("teamA"); System.out.println(" =====[1]===== "); System.out.println("teamA = " + teamA); System.out.println("teamA.getId() = " + teamA.getId()); System.out.println("teamA.getTeamName() = " + teamA.getTeamName()); System.out.println(" 영속? = " + em.contains(teamA)); System.out.println(" ============= "); System.out.println(); em.persist(teamA); System.out.println(" =====[2]===== "); System.out.println("teamA = " + teamA); System.out.println("teamA.getId() = " + teamA.getId()); System.out.println("teamA.getTeamName() = " + teamA.getTeamName()); System.out.println(" 영속? = " + em.contains(teamA)); System.out.println(" ============= "); System.out.println(); Team findMyTeam = em.find(Team.class, teamA.getId()); System.out.println(" =====[3]===== "); System.out.println("findMyTeam = " + findMyTeam); System.out.println("findMyTeam.getId() = " + findMyTeam.getId()); System.out.println("findMyTeam.getTeamName() = " + findMyTeam.getTeamName()); System.out.println(" 영속? = " + em.contains(findMyTeam)); System.out.println(" ============= "); System.out.println(); Team teamB = new Team(); teamB.setId(findMyTeam.getId()); teamB.setTeamName("teamB"); System.out.println(" =====[4]===== "); System.out.println("teamB = " + teamB); System.out.println("teamB.getId() = " + teamB.getId()); System.out.println("teamB.getTeamName() = " + teamB.getTeamName()); System.out.println(" 영속? = " + em.contains(teamB)); System.out.println(" ============= "); System.out.println(); User user = new User(); user.setUsername("username"); user.setTeam(teamB); System.out.println(" =====[5]===== "); System.out.println("user.getTeam() = " + user.getTeam()); System.out.println("teamB = " + teamB); System.out.println("teamB.getId() = " + teamB.getId()); System.out.println("teamB.getTeamName() = " + teamB.getTeamName()); System.out.println(" 영속? = " + em.contains(teamB)); System.out.println(" ============= "); System.out.println(); em.persist(user); System.out.println(" =====[6]===== "); System.out.println("user.getTeam() = " + user.getTeam()); System.out.println("teamB = " + teamB); System.out.println("teamB.getId() = " + teamB.getId()); System.out.println("teamB.getTeamName() = " + teamB.getTeamName()); System.out.println(" 영속? = " + em.contains(teamB)); System.out.println(" ============= "); System.out.println(); tx.commit(); System.out.println(" =====[7]===== "); System.out.println("user.getTeam() = " + user.getTeam()); System.out.println("teamB = " + teamB); System.out.println("teamB.getId() = " + teamB.getId()); System.out.println("teamB.getTeamName() = " + teamB.getTeamName()); System.out.println(" 영속? = " + em.contains(teamB)); System.out.println(" ============= "); System.out.println(); }catch(Exception e){ e.printStackTrace(); tx.rollback(); }finally{ em.close(); } emf.close(); } =====[1]===== teamA = hellojpa.Team@fa5f81c teamA.getId() = null teamA.getTeamName() = teamA 영속? = false ============= =====[2]===== teamA = hellojpa.Team@fa5f81c teamA.getId() = 1 teamA.getTeamName() = teamA 영속? = true ============= =====[3]===== findMyTeam = hellojpa.Team@fa5f81c findMyTeam.getId() = 1 findMyTeam.getTeamName() = teamA 영속? = true ============= =====[4]===== teamB = hellojpa.Team@dd4aec3 teamB.getId() = 1 teamB.getTeamName() = teamB 영속? = false ============= =====[5]===== user.getTeam() = hellojpa.Team@dd4aec3 teamB = hellojpa.Team@dd4aec3 teamB.getId() = 1 teamB.getTeamName() = teamB 영속? = false ============= =====[6]===== user.getTeam() = hellojpa.Team@dd4aec3 teamB = hellojpa.Team@dd4aec3 teamB.getId() = 1 teamB.getTeamName() = teamB 영속? = false ============= =====[7]===== user.getTeam() = hellojpa.Team@dd4aec3 teamB = hellojpa.Team@dd4aec3 teamB.getId() = 1 teamB.getTeamName() = teamB 영속? = false ============= 궁금한 점은 다음과 같습니다: 1. teamB가 영속 상태가 아닌데 어떻게 user가 저장될 수 있었는지 궁금합니다. 2. user는 현재 teamB와 연관되어 있는데, 왜 DB에는 teamA가 나오는지 궁금합니다. 좋은 강의 감사합니다!!

  • java
  • jpa
이용범 댓글 2 좋아요 0 조회수 241

타입 안전 열거형 패턴 질문 입니다.

미해결

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

package enumeraion.ref1; public class ClassGrade { public static final ClassGrade BASIC = new ClassGrade(10); public static final ClassGrade GOLD = new ClassGrade(20); public static final ClassGrade DIAMOND = new ClassGrade(30); private final int discountPercent; private ClassGrade(int discountPercent) { this.discountPercent = discountPercent; } public int getDiscountPercent() { return this.discountPercent; } } 문득 궁금한게 저런식으로 자기 자신을 호출 하면 이제 다시 각각의 필드에 인스턴스가 생성될텐데 그럼 그 인스턴스가 무한으로 인스턴스를 생성하지는 않는건지 갑자기 그부분이 헷갈려 질문 드립니다. 정적필드가 아닐경우에는 더욱이 인스턴스가 생성됨가 동시에 각각의 멤버변수의 인스턴스가 또 인스턴스를 생성하는 형태는 아닌지 궁금합니다.

  • java
  • 객체지향
uphoon 댓글 1 좋아요 0 조회수 200

22년 3회 문제 질문

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

반복문 돌리다가 궁금해진게 있어서 질문드립니다.다중 for문에서 저렇게 여러개의 변수가 중간에 껴있는 경우에 내부 for문을 한 사이클 돌고나면 외부 for문에서 ++해서 다음 사이클 돌릴 경우에 변수들이 다시 초기화가 되나요? 그러니까 n=6일 때 한 사이클을 돌리고 나니 s=6 , el=1 값이 이렇게 나왔는데, n=7, 8, 9.... 이렇게 그 다음 사이클로 갈 때마다 다시 s=0, el=0 부터 시작하는건지 아니면 값이 남아있는건지 궁금합니다.+해설을 보고 나서 완전수라는 걸 알았네요 ㅎㅎ

  • python
  • java
  • c
  • 정보처리기사
김다훈 댓글 1 좋아요 0 조회수 187

제네릭 메서드, 와일드카드

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 제네릭 메서드에서는 <Dog>가 타입추론으로 생략이 가능하다고 하셨는데 WildCardEx.<Dog>printGenericV1(dogBox); 와일드 카드의 경우에는 <타입> 해당 부분에 대해서는 설명을 안해주셨는데 와일드카드의 경우에는 "<타입>" 은 어떻게 되는 건가요?? 항상 생략인건가요..??? WildCardEx.printWildCardV1(dogBox);

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
댓글 1 좋아요 0 조회수 248

try-catch에서

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

public static void checkAge ( int age) { if (age < 18 ) { throw new IllegalArgumentException ( "나이는 18세 이상이어야 합니다." ); } System.out.println( "나이가 적합합니다." ); } 이거에서 if가 18이상이면 if문조건을 충족하지 않으므로 빠져나가서 나이가 적합합니다. 를 프린트 하는 건 알겠는데 15세일때 if문 조건(age<18)을 충족해서 throw로 예외를 던지고 나서 실행한 뒤 System.out.println( "나이가 적합합니다." ); 를 다시 실행해야 하는 거 아닌가요? checkAge() 가 System.out.println( "나이가 적합합니다." ); 를 실행해야 끝난다고 생각되어서요;. else문이 아니라 그냥 if문이라서 ..throw 에 대해서 조금더 자세한 설명해주실수있나요??

  • python
  • java
  • c
  • 정보처리기사
ariel123 댓글 2 좋아요 0 조회수 201

증감, 감소 연산자 관련

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

안녕하세요, 증감, 감소 연산자에 대해 궁금한 점이 있습니다. 23년 2회 마지막 문제에서 [point--]는 값이 0이라면 호출했을때 0을 넣은다음 -1되는 형식이였는데 24년 1회 첫번째 문제에서는 cont++가 바로 +1이되어 값이 호출되는것이 헷갈립니다. 변수++ / 변수--는 호출되고 나서 플러스 또는 마이너스 되는것이 아닌가요?ㅠㅠ

  • python
  • java
  • c
  • 정보처리기사
댓글 2 좋아요 0 조회수 241

8:15부분에 관해 질문있습니다

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

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

  • java
  • spring
  • spring-boot
  • jpa
마은아 댓글 1 좋아요 0 조회수 179

자바 버전

미해결

토비의 스프링 6 - 이해와 원리

jdk 버전 관련 개념이 조금 헷갈려서 질문 드립니다. 현재 터미널에서 java -version 명령어를 통해 출력되는 자바 버전은 11인데 스프링 프로젝트 별로 자바 버전을 다르게 할 수 있다면 혹시 제 컴퓨터에 설치되고 환경 변수 설정까지 하여 터미널에서 출력되는 자바 버전은 전혀 상관이 없는 건가요?? 상관이 없다면 제 컴퓨터에 따로 자바를 설치하고 환경 변수 설정 까지 해야 하는 이유가 무엇인가요??

  • java
  • spring
hdh8990 댓글 1 좋아요 0 조회수 295

hashSet에서 hashCode 메서드를 만들 때 질문이 있습니다.

해결됨

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

해당 강의에서 강사님꼐서 IDE를 통해 만드신 hashCode() 오버라이드 메서드는 Object.hash() 함수를 사용했는데요. 저도 똑같이 IDE를 통해서 만들었는데, Object.hashCode() 라는 다른 메서드를 사용해서 만들어 주더라고요. 둘 다 실험해보니까 잘 작동하긴 했는데, 두 메서드의 차이점이 무엇인가요? 왜 강사님이 하실때는 hash() 메서드가 뜨고 제가 할 때는 hashCode() 메서드를 이용해서 만들어 줄까요?

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
포키통 댓글 2 좋아요 0 조회수 187

내부 클래스

미해결

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

안녕하세요! 내부 클래스의 경우 외부 클래스의 인스턴스에 접근할 수 있는 참조값을 가지고 있다고 하셨는데, 그러면 반대로 외부 클래스는 내부 클래스의 인스턴스에 접근할 수 있는 참조값을 가지고 있나요 ? 예로 내부 클래스의 활용 8:00 강의 쪽에서 Car myCar = new Car() ; myCar.start() 로 가능한가요? ( 여기서 start 메서드는 Car 의 메서드에 있는 start 가 아닌 Engine 클래스 내부에 있는 start() 메서드를 말씀 드린겁니다.

  • java
  • 객체지향
ghuhan18 댓글 1 좋아요 0 조회수 171

query projection 아키텍쳐 관점

해결됨

실전! Querydsl

작업을하다보디 query projection 경우 아키텍처 관점(데이터 레이어)에서 Repository에 의존성이 생겨서 사용을 지양하자는 의견이 많던데 어떻게 생각하시나요?

  • java
  • jpa
똘이개발자 댓글 1 좋아요 0 조회수 154

이론파트 자료 문의드립니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

선생님 안녕하세요 목차에 뒤에 추가된 제목을 추가하지 않으신 것인지요? 시험이 일주일 남아서 제대로 보려는데 11 12번 누락된 것으로 보여서요 목차 수정 부탁드립니다. 그리고 가능하다면 페이지 구성을 반씩 나누는 거 말고 한줄로는 안될까요? 아래로 내려갔다가 다시 올려야 해서 한글문서처럼 일렬정렬이 나은 것 같아요^^

  • python
  • java
  • c
  • 정보처리기사
이성미 댓글 1 좋아요 0 조회수 236

이론강의

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

이론 강의는 뭐고 PDF 내용은 뭐죠? pdf 에 없는 내용이 강의로 있는데(예를 들어 요구사항이나 데이터 pdf 만 보면 안되고 강의에 있는 내용도 다 외워야 하는거면 강의에 있는 내용도 pdf 에 넣어주시면 안될까요ㅠ

  • python
  • java
  • c
  • 정보처리기사
mac i 댓글 1 좋아요 2 조회수 474

2022 3회

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

2022 3회 1:50 result[i]++ 의 결과값이 왜 2,4, 이런식으로 나오는지 궁금합니다. 전체적인 문제 풀이 과정은 이해했습니다. if(arr[i]<arr[j]) 이 부분 까지 다 이해했습니다. i가 0일 경우 true가 한개인것도 알겠는데 출력하는 마지막 부분이 이해가 안됩니다. ++ 일 경우 값에 1을 더해주는 것도 이해가 갑니다. 문제에서 어디 부분 때문에 2,4 이런식으로 출력해주는지 궁금합니다.

  • python
  • java
  • c
  • 정보처리기사
mac i 댓글 1 좋아요 0 조회수 298

반복문과 Range 질문

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

fruits=["apple","banana","cherry"] for i in range(len(fruits)) 이 부분에서 range의 개념은 어느정도 이해했는데 왜 문자열 길이가 아닌 개수처럼 3으로 세는지 궁금합니다. 영상에서도 헷갈릴거라고 언급하셨는데 저는 보자마자 아예 count 개념이랑 충돌이 와버렸네요...

  • python
  • java
  • c
  • 정보처리기사
김다훈 댓글 1 좋아요 0 조회수 150

파이썬 리스트 슬라이싱 질문

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

안녕하세요. 강의 잘 듣고있습니다. 섹션5 리스트 슬라이싱 강의에서 궁금해진게 스텝이 음수가 되는 경우는 강의 내용에 안들어 있어서 어디서 어렴풋이 봤던 것 같은데 그런 케이스는 없나요?

  • python
  • java
  • c
  • 정보처리기사
김다훈 댓글 1 좋아요 0 조회수 156

ScannerWhileEx3 에서 질문있습니다 !

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 해당 코딩에서 sum += input; 위치를 if 위에 위치해 놓으면 100+100 이었을때 199가 나오고 if 아래에 위치하면 정상적으로 나오는데 이유좀 알고 싶어요. <If 위에 위치할때 결과> <If 아래에 위치할때 결과>

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

배열출력 부분에서 질문 있습니다

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/) [질문 내용] System.out.println("coiedArray = " + copiedArray); 배열을 그냥 출력하면 배열에 참조값이 나온다고 말씀하셨는데, System.out.println(+ copiedArray); 이 코드로 출력해보면 참조값이 나오지 않고 hello가 나옵니다. 이게 +때문에 참조값이 나오는게 아닌가 해서 질문드립니다..!!

  • java
  • 객체지향
brandon55321 댓글 1 좋아요 0 조회수 208

업캐스팅 질문

미해결

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

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 1. CastingMain3에서 굳이 업캐스팅을 하지 않아도, 자식은 부모의 메서드 기능(child.parentMethod)을 곧 바로 이용을 할 수 있는데, 왜 parent라는 변수에 업캐스팅을 해야하나요? child.parentMethod가 가능한데 parent1, 2에 업캐스팅 후에 parentMethod를 하는 이유가 무엇인가요? 부모는 자식의 기능을 이용하지 못하니까 다운캐스팅의 이유는 명확했는데, 업캐스팅의 이유는 무엇인가요?

  • java
  • 객체지향
시작 댓글 1 좋아요 0 조회수 180

인기 태그

인프런 TOP Writers

주간 인기글