inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

강의 복습하면서 생긴 질문

미해결

자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)

태현님 안녕하세요! 해당 강의를 듣던 중 의문점이 있어서 질문을 드릴려고 합니다. public class Person { private final String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } // getter, setter 생략... } 위와 같은 예제 코드가 있다고 하면 위와 같은 코드를 코틀린으로 변경하면 강의에서는 아래와 같다고 하셨습니다. class Person( val name: String, val age: Int, ) 이러면 자동으로 getter/setter를 자동으로 만들어주신다고 하셨는데요. 저는 이것이 자동으로 만들어주는게 아니라 당연하다고 생각합니다. 왜냐하면 프로퍼티 접근 제어자가 public이니까요! 자바도 public으로 변경하면 코틀린처럼 필드에 접근해서 사용이 가능하다고 생각이 드는데요. 이런 케이스에 대해서 태현님의 의견을 좀 더 듣고 싶습니다. 또한, 당연히 코틀린에서는 getter를 호출하겠지만 필드 자체를 private으로 두지 않으면 객체지향 원칙중에 하나로 캡슐화가 좋지 못하다는 판단이 들더라구요! 또한 코틀린에서는 접근제어자를 private으로 두면 당현한 이야기지만 강의에서 설명주신 것처럼 접근이 안되서 강제 getter/setter를 만들어야 하는데 이것에 대해도 듣고 싶습니다. 다음 질문으로는 생성자 관련 질문입니다. 자바는 아래처럼 생성자를 여러개 만들 수 있습니다. public class Person { private String name; private int age; public Person(String name) { this.name = name; } public Person(String name, int age) { this.name = name; this.age = age; } // getter, setter 생략... } 논리적으로 도메인 흐름상 하나의 파라미터만 있는 생성자는 사용되지를 않겠지만 이런 케이스에서 코틀린은 어떻게 처리가 가능할까요? 코틀린에서는 설명해주시기로 부생성자로 만들지만 부생성자는 주생성자를 호출해야 하는 꼴로 가야한다고 답변을 주셔서요! 이에 대해 궁금합니다!

  • java
  • kotlin
  • 객체지향
양성빈(Robert) 댓글 1 좋아요 1 조회수 118

2-11. 임시반장정하기 (Runtime Error)

미해결

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

이미지와 같이 Runtime Error 발생하여, 검토 요청드립니다. import java.util.*; public class Main { private int solution (int i1, int[][] i2) { int r = 0; int rt = 0; for (int i = 0; i < i1; i++) { int t = 0; boolean[] s = new boolean[i1]; for (int j = 0; j < 5; j++) { for (int k = 0; k < i1; k++) { if (i2[i][j] == i2[k][j]) { s[k] = true; } } } for (boolean a: s) { if (a) { t++; } } if (t > rt) { r = i; rt = t; } } return r + 1; } public static void main(String[] args){ Scanner in = new Scanner(System.in); int input1 = in.nextInt(); int [][] input2 = new int[input1][input1]; for (int i = 0; i < input1; i++) { for (int j = 0; j < 5; j++) { input2[i][j] = in.nextInt(); } } System.out.println(new Main().solution(input1, input2)); } }

  • java
  • 코딩-테스트
왕연성 댓글 1 좋아요 0 조회수 78

08분01초 질문이요!

해결됨

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

*p 는 해당주소의 값 X 이해됐어요 *p++ 는 해당주소의 값을 가져오고 1만큼 이동해서 출력값은 X이며 가리키는 주소는 A이해됐어요 ++*p 여기서는 왜 가리키는 주소가 1만큼 증가되는것이 아닌 값 A에 +1인지 이해를 하지 못하겠어요...

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

게시글 테스트 데이터 삽입 - @PersistenceContext 에 관하여

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

DataInitializer 와 관련하여, EntityManager 를 @Autowired 가 아닌, @PersistenceContent 로 가져온 까닭이 궁금합니다. 제가 이해한 바에 따르면, initialize 메서드에서 정의된 ExecutorService 의 스레드 풀은 트랜잭션 전파가 이뤄지지 않으니, TransactionTemplate 을 사용하여 명시적으로 트랜잭션 블록을 지정해주고, 영속화를 위한 과정에서, entityManager 의 프록시 객체가 트랜잭션 내부에서 적절한 객체를 가져와 수행한다고 알고 있습니다. 이 과정에서, EntityManager 의 프록시 객체를 위해 @PersistenceContext 를 사용하여 선언함은 알겠으나, @Autowired 를 사용하여 스프링에서 관리하는 것 역시도 SharedEntityManager 에서 파생된, 동일한 프록시 객체를 반환하는 걸로 알고 있습니다. PersistenceContext 로 em 을 가져온 이유가 있나요? 아니면 선호하시는 방식이라 채택한 방법인가요? 물론 제가 이해한 바에서 틀린 부분이 있을 수도 있으니 잘못 이해한 바가 있으면 정정도 부탁드립니다. 강의 잘 보고 있습니다~

  • java
  • spring-boot
jack8226 댓글 1 좋아요 0 조회수 93

하이딩 질문

해결됨

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

이게 이해가... statci에 따라 값이 달라진건가요..? 자식을 parent p =new child();여도 값이 child로 호출 되는 경우가 있지 않나요?구분이 안됩니다

  • java
  • 정보처리기사
jongbin7245 댓글 2 좋아요 0 조회수 84

9. 스트림 API3-컬렉터 오타?

미해결

김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍

p.18. 다운스트림 컬렉터부분에 1.groupBy(Student::grade) 가 아니고 1.groupingBy(Student::getGrade) 로 바뀌어야 되는거 아닌지요. 오타인거 같습니다. record로 선언된 클래스가 아니어서요. p. 23 reducing 그림에서도 비슷한 오타가 보입니다.

  • java
  • 함수형-프로그래밍
  • lambda
  • optional
swdevelop24 댓글 2 좋아요 0 조회수 100

댓글 테이블 설계

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하십니까 선생님, 댓글 테이블의 parent_comment_id 컬럼에 외래키 제약조건을 걸지 않고 설계를 하셨는데 이러한 선택의 구체적인 이유가 있을까요?? 저는 무결성 보장을 위해 셀프 조인 + FK제약조건을 생각했었습니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
광교js 댓글 2 좋아요 0 조회수 75

9분 7초 문의드립니다

해결됨

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

자식 생성자 생성되고 child() 왔다가 부모 올라가서 parent() 먼저 출력후 자식내려와서 super() 이니까 또 parent() 출력하고 다시 내려와서 child constructor 해야하지 않나요? parent constructor parent constructor child constructor 라고 생각했는데 아닌 이유가 뭘까요..

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

상속 질문이요

해결됨

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

30강 9:44에서 부모 자식 기본 생성자가 출력되지 않았는데 그 이유가 super에 파라미터가 있어서 그 값을 출력했다 라고 이해했는데 만약super()이런식으로 파라미터의 값을 설정하지 않았다면 부모 자식 기본 생성자가 호출 되는 건가요? Car() 이런 식으로요 10:26에서는 왜 부모 기본 생성자는 출력하는데 자식의 기본 생성자인 ECar()은 출력 하지 않나요? 부모자식 다 출력하는게 아니라 조건이 없을때 부모만 출력하는건가요?

  • java
  • 정보처리기사
jongbin7245 댓글 2 좋아요 1 조회수 57

30:15

해결됨

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

문자열이 비어있는지 판단하는것이 string str = "Hello"; 가 있냐 없냐로 판단하는 것인가요??? 설명란에 Hello라는 문자열이 변수에 들어가 있고 그것이 비었는 지를 물어보는 기능이 참값이 나온다는데 비어있으면 참값이고 그렇지 않으면 거짓값인데 답이 거짓값이 나와서 이해가 조금 부족합니다..ㅠㅠ

  • python
  • java
  • c
  • 정보처리기사
조찬희 댓글 3 좋아요 0 조회수 54

length 질문

해결됨

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

18:25 NULL은 아예 값이 없는 공백을 의미하는 것이므로 ”Hello, World!" 중간에 띄어쓰기도 길이 포함되는 건가요?

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

9:25 생성

해결됨

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

시간대는 9분 25초이구요, 기본 생성자를 거치지 않고 ElectricCar(String model, int year, int batteryCapacity) { super(model, year); this.batteryCapacity = batteryCapacity; System.out.println("ECar(" + batteryCapacity + ")"); } } 해당 코드에서 super(model, year); 을 타고 Car(String model, int year) { this.model = model; this.year = year; System.out.println("Car(" + model + ", " + year + ")"); } } 해당 코드가 실행되어 println 되고, 다음 자식 생성자가 실행되어서 ECar(75) 의 값이 나오는 걸로 보여지는데 Q. new electricCar에서 기본 생성자를 거치지않고 어째서 2번째 자식 생성자로 바로 가버려서 코딩이 되지요?? 이게 명시적 호출인가요?

  • java
  • 정보처리기사
김현석 댓글 2 좋아요 0 조회수 45

같지만 다른것들

해결됨

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

같지만 다른것들 1분 42초에 나오는 프린문 중 str2==str3로 나와야하는거 아닌가요? 출력 2번줄 오타인거 같아서 말씀드려요

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

샤딩의 기준

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

안녕하세요 쿠케님 강의 잘 보고 있습니다! 강의를 보다가 갑자기 궁금한 점이 생겨서 질문 드립니다. 샤딩의 기준이 현재는 article_id로 되어 있는데, 특정 샤드에 댓글 데이터가 엄청 생성되어서 불균형하게 저장이 되는 경우도 있을까요?? 있다면 샤딩의 기준을 다시 정의하는 일도 있는지 궁금합니다. 항상 잘 보고 있습니다. 감사합니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
azosi 댓글 1 좋아요 0 조회수 76

6번째 문제 질문입니다

해결됨

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

이전까지 업캐스팅에서 부모의 기본생성자를 먼저 출력하고 다음에 자식의 생성자를 실행한다고 배웠는데 여기선 빼고 바로 B의 생성자로 가는 이유가 무엇인가요 앞 문제와 파라미터가 들어간 메인함수는 똑같은데 오버로딩과 무슨 관련이 있나요 B의 기본생성자에서 명시적으로 파라미터가 들어간 부모 생성자를 호출하기에 부모 기본생성자를 생략해도 되는건가요

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

PI라는 단어로 값 대신하기 질문

해결됨

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

전처리기 24에서 5번째에 printf("\n"); 이 있더라고요 그러면 답이 Radius 1: 5.00 Circumference 1: 31.42 Area 1: 78.54 Volume 1: 523.60 Radius 2: 10.00 Circumference 2: 62.83 Area 2: 314.16 Volume 2: 4188.79 이 아니라 4번째 출력 값이랑 5번째 출력 값 사이에 빈 행을 넣어야 하는게 맞는거죠? Radius 1: 5.00 Circumference 1: 31.42 Area 1: 78.54 Volume 1: 523.60 Radius 2: 10.00 Circumference 2: 62.83 Area 2: 314.16 Volume 2: 4188.79 이런식으로요

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

피보나치

해결됨

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

피보나치(n) 의 값이 인덱스랑 왜다르죠? 헷갈립니다....

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

10:46 자식의 기본생성자를 건너뛰는 이유가 무엇인가요

해결됨

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

파라미터 3개짜리 함수를 입력하는 것은 이해했지만 부모 기본생성자 다음에 자식 기본생성자를 출력하지 않는 이유는 무엇인가요?

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

출력값에 생성자가 왜 나오는건가요

해결됨

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

7:30에서 출력시 부모생성자를 먼저 출력한다는 개념은 이해했으나. 메인 함수에서는 메소드만 나와있는데 (start, stop, checkBattery) 어째서 생성자값까지 출력해야하나요?

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

29:27 Python 삼항연산자 해설 질문드립니다!

해결됨

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

29:27 삼항 연산자 한 줄로 되어있는 부분 해석해주실 때, if level % 2 != 0: 위 부분이 이해가 안됩니다. if node else 0 이 부분은 "if 부분이 참이면 return을 하고"라고 해석을 해주셨는데요 왜 if level % 2 != 0: 이 부분 해석해주실 때에는 != 같지 않다라고 해석을 해주시는지 궁금합니다.

  • java
  • c
  • 정보처리기사
zergpck37 댓글 3 좋아요 0 조회수 90

인기 태그

인프런 TOP Writers

주간 인기글