inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Shape 클래스 실습 코드 피드백 요청드립니다

해결됨

기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM

안녕하세요, 강사님. Shape 클래스 실습을 진행한 결과물을 공유드립니다. 실습 내용을 바탕으로 도형의 크기를 부모 클래스에서 관리하고, 각 자식 클래스에서 기본 크기를 지정할 수 있도록 생성자를 구성해 보았습니다. 시간 괜찮으실 때 구현 방향에서 어색한 부분이나 개선하면 좋을 점이 있는지 간단히 봐주시면 감사하겠습니다. 또한 이번 실습에서 추가로 생각해 보면 좋을 내용이 있다면 함께 알려주시면 감사하겠습니다. 감사합니다. package java2_30; import java.util.Scanner; /** * 화면에 출력할 수 있는 도형의 공통 부모 클래스입니다. * * 현재 실습에서는 삼각형과 정사각형만 다루므로, * 가로와 세로를 구분하지 않고 하나의 size 값으로 크기를 관리합니다. */ abstract class Shape { private final int size; protected Shape(int size) { this.size = size; } protected final int getSize() { return size; } /** * 각 도형의 모양을 콘솔에 출력합니다. */ abstract void render(); } class Rectangle extends Shape { private static final int DEFAULT_SIZE = 4; public Rectangle() { this(DEFAULT_SIZE); } public Rectangle(int size) { super(size); } @Override public void render() { for (int i = 0; i < getSize(); i++) { for (int j = 0; j < getSize(); j++) { System.out.print("*\t"); } System.out.println(); } } } class Triangle extends Shape { private static final int DEFAULT_SIZE = 5; public Triangle() { this(DEFAULT_SIZE); } public Triangle(int size) { super(size); } @Override public void render() { for (int i = 0; i < getSize(); i++) { for (int j = 0; j <= i; j++) { System.out.print("*\t"); } System.out.println(); } } } class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("사각형은 0, 삼각형은 그 외 숫자를 입력하세요: "); int input = scanner.nextInt(); Shape shape; if (input == 0) { shape = new Rectangle(); } else { shape = new Triangle(); } shape.render(); scanner.close(); } }

  • java
  • 객체지향
  • jvm
  • data-structure
ice28 댓글 2 좋아요 0 조회수 25

재고 감소와 쿠폰 발급은 왜 서로 다른 방식으로 동시성을 제어하나요?

미해결

실습으로 배우는 선착순 이벤트 시스템

강사님 안녕하세요, 좋은 강의 여러번 반복해서 잘 듣고 있습니다. 재고 감소와 비교했을때 차이점이 궁금하여 문의드립니다. 안녕하세요 강사님 이전 재고 관리 강의와 차이에 대해 궁금합니다. 이전 질문을 참고하였으나 추가로 더 궁금한게 있어서 문의드립니다. 재고 감소와 쿠폰 발급의 차이점이 너무 헷갈려서 정리하고 있습니다. 두 경우 모두 한정된 수량을 여러 요청이 동시에 차지한다는 점에서는 비슷해 보입니다. 그렇다면 쿠폰도 이벤트 테이블에 잔여 수량을 100개나 300개로 설정하고, 재고처럼 수량을 차감한 뒤 사용자 쿠폰을 생성하는 방식으로 구현할 수 있지 않을까요? 강의에서는 쿠폰 발급의 정합성을 위해서 전체 로직에 락을 걸 필요가 없다고 하셨는데, 그러면 반대로 재고 감소 같은 경우도 마찬가지로 재고 감소의 정합성을 위해 전체로직에 락을 걸 필요 없이 다른 방법으로 하는게 더 나은 방법 아닌가요?? 비슷해 보이는 한정 수량 문제를 서로 다르게 푼 이유를 잘 모르겠습니다 ㅠㅠ

  • java
  • docker
  • spring-boot
  • kafka
  • redis
차니 댓글 1 좋아요 0 조회수 27

모든 컴포넌트를 클라이언트 컴포넌트로 했을 때

미해결

타입스크립트로 배우는 Next.js 16+ 완전 정복 : 기초부터 최신 아키텍처까지

안녕하세요, 저는 회사에서 next.js로 포팅하여 개인적으로 좀 공부하고 있는 학생입니다. 현재 2강 할 일 관리 앱을 보면서 저희 회사의 작업 방식을 함께 생각해봤는데 저희 회사는 꼭 필요한 부분 (iron-session을 이용하여 세션을 가져온다거나)을 제외하고는 죄다 클라이언트 컴포넌트로 바꿔서 사용하고 있습니다. 그래서 이 작업을 진행하면서도 클라이언트 컴포넌트로 모두 바꾸어 진행한다면 어떨까라고 생각이 들었었는데 과제에서는 최소한의 컴포넌트만 클라이언트 컴포넌트로 바꾸라고 하신 이유가 궁금합니다. 감사합니다!

  • javascript
  • react
  • typescript
  • next.js
  • jwt
댓글 3 좋아요 0 조회수 21

깃허브주소 궁금합니다.

미해결

코드로 배우는 스프링 웹 프로젝트 - Basic

강의 중에 내용 소스 공유 받고 싶습니다. 구멍가게코딩단 깃허브 주소 요청드립니다

  • java
  • jsp
  • spring
  • mybatis
실력자되긔 댓글 2 좋아요 0 조회수 19

mariaDB 설정

미해결

코드로 배우는 스프링 웹 프로젝트 - Basic

mariaDB 설정에서 create database springdb; 이거 나오는 쿼리구문 어디에서 공유받을 수 있나요?

  • java
  • jsp
  • spring
  • mybatis
실력자되긔 댓글 1 좋아요 0 조회수 19

탐색을 한번 더 하지 않게 하는 방식 중 어댑티브 해시 방식도 맞는지 궁금 합니다.

미해결

김영한의 실전 데이터베이스 - 성능 최적화, 실행 계획과 인덱스 완전 정복

커버링 인덱스가 아니라고 가정한다면 클러스터링 인덱스까지 2번의 B+Tree 탐색을 하지만 커버링 인덱스라면 이런 탐색을 한번 줄여 발생하는 IO 작업을 최적화 하는것으로 이해 했습니다 커버링 인덱스 말고도, 자주 사용되는 페이지의 위치를 자동으로 InnoDB에서 어댑티브 해시 인덱스라는 공간에 저장 하는것으로 알고 있는데 이 방식도 IO 작업을 최적화 하는 것인지 궁금 합니다

  • sql
  • mysql
  • dbms/rdbms
  • sql-tuning
  • SQLD
ggg7515 댓글 2 좋아요 0 조회수 34

컬럼 크기가 대용량인 경우 DB 버퍼 풀에 전부 올라오는지 궁금합니다

미해결

김영한의 실전 데이터베이스 - 성능 최적화, 실행 계획과 인덱스 완전 정복

컬럼의 크기가 평균 1MB 정도 된다고 했을 때DB 버퍼 풀에 전부 올라오고 나서 서비스 서버로 올라가게 되는지 궁금 합니다 ! 서비스 서버 단에서 스트림으로 처리 한다고 해서 DB 메모리 공간도 같이 효율적으로 사용 되는지도 궁금 합니다 !

  • sql
  • mysql
  • dbms/rdbms
  • sql-tuning
  • SQLD
ggg7515 댓글 2 좋아요 0 조회수 33

실습데이터 ORDERS 생성 시간 질문요...

미해결

김영한의 실전 데이터베이스 - 성능 최적화, 실행 계획과 인덱스 완전 정복

member와 product 데이터는 각각 4분, 5분 걸렸는데 orders는 2시간이 지나도 계속 돌고 있네요. 갤럭시북2 사용중인데 다른분들도 오래 걸릴까요??

  • sql
  • mysql
  • dbms/rdbms
  • sql-tuning
  • SQLD
leelojhol 댓글 1 좋아요 0 조회수 60

MySQL 서버구조 쿼리파서 질문 있습니다 !

미해결

김영한의 실전 데이터베이스 - 성능 최적화, 실행 계획과 인덱스 완전 정복

쿼리 파서 기능에서 구분 분석을 통해 토큰 형식으로 분리하고, 어휘 분석을 통해서 문법 검증 및 파스 트리를 만든다고 알고 있었는데 구문 분석 부분에서 한번에 일어나는 작업인지 궁금 합니다

  • sql
  • mysql
  • dbms/rdbms
  • sql-tuning
  • SQLD
ggg7515 댓글 1 좋아요 0 조회수 46

상태 기반 데이터관리에서 특정 시점에 대한 정보는 어떻게 관리할 수 있나요?

미해결

김영한의 실전 데이터베이스 - 설계 2편, 실무에서 반드시 마주치는 9가지 설계 패턴

안녕하세요 영한님 마스터패스 구매하고 모든 강의를 재밌게 수강하고 있는 백엔드 개발자 취업준비생입니다. 강의를 듣다가 궁금한 점이 생겨 질문남깁니다! 답변해주시면 너무 감사하겠습니다. is_deleted 와 같은 컬럼을 사용하는 soft delete 방식은 실제 삭제 시점을 알 수 없기 때문에 주로 사용하진 않고, deleted_at을 컬럼으로 두고 삭제 여부/시점을 모두 판별할 수 있게 한다고 하셨는데, 그렇다면 뒤에 설명해주신 상태 기반 관리를 통해서 ProductStatus나 OrderStatus를 관리할 경우, deleted_at이나 다른 시점을 컬럼으로 두면 나쁜 설계라고 하셨습니다. 그렇다면 결국 ProductStatus와 같은 상태를 가진 것들은 삭제 시점이나 특정 시점을 알 수 없는건 마찬가지 아닌가요? 만약 삭제 시점이나 회원의 탈퇴 시점같은 것들을 관리해야 한다면 어떻게 해야할까요? 이러한 해결 방법으로써 이력 테이블 등의 방법이 있을 것 같은데 취준생의 개인 프로젝트로 사용하기에 규모가 너무 커지지 않을까 걱정됩니다. 실제 사례를 예시로 들어보자면 UserStatus 상태값입니다. 이를 테이블의 한 컬럼으로 두고 내부에는 ACTIVE(정상), SUSPENDED(임시정지), BANNED(영구정지), WITHDRAWN(탈퇴) 등의 여러 상태를 가집니다. 이때 만약 withdrawn_at 컬럼이 존재하지 않고 상태값만으로 관리하면 탈퇴 시점이 언제인지 등을 확인할 수 없게 됩니다. 이 경우에는 withdrawn_at 컬럼을 상태값과 함께 두는 것보다 이력 테이블을 사용하는게 더 나은 설계이자, 개인 소규모 프로젝트에서도 해당되는 사항인지 궁금합니다. 작은 조언이라도 해주시면 감사하겠습니다! -- 에이전트 인프런 에이전트에 같은 내용으로 질문을 남겨봤는데 withdrawn_at 컬럼을 상태 컬럼과 함께 사용하는 것이 효율적이고 합리적인 설계라고 합니다. 실제로 이력 테이블은 개인 프로젝트 규모정도에서는 사용하기에 관리 복잡도가 증가할 가능성이 있다고 합니다. 이에 대해 어떻게 생각하시는지도 궁금합니다.

  • sql
  • mysql
  • dbms/rdbms
  • 소프트웨어-설계
  • SQLD
yeoeol 댓글 1 좋아요 0 조회수 24

Postgresql 아키텍처 업데이트

미해결

김영한의 실전 데이터베이스 - 성능 최적화, 실행 계획과 인덱스 완전 정복

안녕하세요 영한님! 강의 재밌게 잘 듣고있습니다. 아직 섹션3까지 들었는데 MySQL 아키텍처 설명을 너무 잘해주셔서 너무 재밌게 들었습니다! 개인적으로 실무에서 PostgreSQL을 사용하고 있는데 혹시 PostgreSQL 아키텍처 강의도 업데이트 예정이 있으신지 궁금합니다!

  • sql
  • mysql
  • dbms/rdbms
  • sql-tuning
  • SQLD
yp kim 댓글 2 좋아요 1 조회수 63

섹션4 퀴즈 오타있어요.

미해결

클로드 코드의 정석: 실전 에이전틱 엔지니어링

(사진)

  • java
  • spring
  • 소프트웨어-설계
  • 인공지능(ai)
  • ai-agent
  • claude
  • 바이브코딩
kichun852 댓글 1 좋아요 0 조회수 28

타입 에러 관련 질문입니다.

미해결

Supabase, Next 풀 스택 시작하기 (feat. 슈파베이스 OAuth, nextjs 14)

todoList 생성하기 에서 content가 계속 타입 에러가 뜨는데 이유가 뭘까요?

  • react
  • 클론코딩
  • next.js
  • supabase
홍정웅 댓글 2 좋아요 1 조회수 32

AWS 배포 성능테스트

미해결

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

1. 현재 학습 진도 섹션 3 15강 수강 2. 어려움을 겪는 부분 아직 섹션3 15강밖에 수강하지 않았지만 예전에 배포했을때 설정 문제로 과금이 나간적이있어서 강의는 계속 들으면서 로컬에서 해보고 개인 프로젝트에 적용해보는것이 좋을까요? 아니면 둘 다 하는것이 좋을까요??

  • java
  • spring
  • mysql
  • redis
  • 이력서
개발자....? 댓글 1 좋아요 0 조회수 57

조건 반복문 질문: for 문 ?

해결됨

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

for 문에서 초기화 -> 조검검사->참이면 처리->증감->조건검사->조건 감사-> 아닌가요? intc=0; for(I=1; I>3; i++) { c++; } printf("c=%d",c); 정답: ? 답변이 어려운 질문 좋은 질문 예시 3강 12분 35초에서 설명하신 반복문 조건식이 이해되지 않습니다. 왜 i < 10으로 작성하나요? 5강 08분 10초에서 나온 코드 실행 결과가 제 환경에서는 다르게 나옵니다. 아래는 제가 작성한 코드입니다. 정확한 강의 위치와 질문 내용을 함께 남겨주시면 더 빠르고 정확하게 답변드릴 수 있습니다.

  • python
  • java
  • c
  • 정보처리기사
  • 정보처리산업기사
마미에르 댓글 1 좋아요 0 조회수 52

76강 2분33초 내용 오류

미해결

김영한의 실전 데이터베이스 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 오류인 부분이라 신고합니다. 76강 2분 33초 부분에서 transaction 설명을 위해 계좌에서 이체되는 부분 말씀 하실 때 A고객이 1만원 이체하여 잔금이 줄어 4만원인 부분을 작성하시고 연이어 B고객 부분을 말씀하실 때 이체를 받았으니 1만원이 되어야 한다고 하며 10000원으로 적으셨습니다. 하지만 내용 상 30000원이 되어야 하는 부분으로 보입니다.

  • sql
  • mysql
  • dbms/rdbms
  • SQLD
Juan (박정환) 댓글 2 좋아요 0 조회수 52

run() 메서드 안에 지역변수 sum을 사용한 이유

미해결

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

[질문 내용] SumTask의 run()메서드 안 for문에서 result += i;를 하지 않고 지역변수인 sum을 사용하여 마지막에 result = sum을 하신 이유가 지역변수(sum)는 스택영역, 멤버변수(result)는 힙 영역에 관리되어, 매번 메인 메모리에 있는 result의 값을 변경하는 것이 아닌 cpu 코어의 캐시 메모리를 사용하는 것이 더 빨라서일까요?

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
ᄒᄉ 댓글 1 좋아요 0 조회수 72

인덱스 강의 혹은 해당 강의 전 듣어야 하는 사전강의 문의

해결됨

10,000++억의 데이터를 다루는 카카오 면접관의 MySQL

강사님 안녕하세요 강의를 듣다보니 인덱스를 어느정도 아는 사람이 들어야 이해도가 많이 높아질거 같아 문의 드립니다 혹시 강사님 강의 중 인덱스나 좀 더 기본기 모델링을 배울 수 있는 강의가 있을까요? (ex: Hash Table과 Tree 자료구조,인덱스) 또, 혹시 행 기반 dbms가 아닌 duck db , 빅쿼리등 열 기반 dbms 강의도 론칭 예정이 있으신지 궁금합니다 현재 빅쿼리를 사용중인 신입 데이터 엔지니어인데 인덱스 개념은 안쓰고 파티셔닝, 클러스터링 밖에 없더라구요..

  • mysql
  • dbms/rdbms
  • 데이터-엔지니어링
  • backend
홍태경 댓글 2 좋아요 0 조회수 53

7강 보고 있는데요.. 글자가 너무 작아요

미해결

Spring WebFlux + LLM 실전 구현

모니터 27인치 최대크기로 해도 너무 작아서 모니터 엄청 가까이 하고 봐야하네요.. 너무 불편해요..

  • java
  • spring
  • webflux
  • chatgpt
  • llm
YongIl Park 댓글 1 좋아요 0 조회수 34

코덱스 입력한 텍스트만 받을수 있을까요?

미해결

AI 코딩으로 외주 수주하기: 병원 홈페이지 제작부터 비딩·견적·포트폴리오까지

안녕하세요. 강의를 수강해주셔서 감사합니다. 질문 작성 시 아래 내용을 함께 작성해주시면 보다 정확하고 빠르게 답변드릴 수 있습니다. 현재 진행 중인 섹션 또는 강의명 발생한 에러 내용 관련 코드 콘솔 에러 메시지 기대한 결과와 실제 결과 특히 개발 관련 질문은 코드와 에러 로그를 함께 첨부해주셔야 원인 파악이 훨씬 수월합니다. 또한 이 강의는 실무형 프로젝트 기반 강의이기 때문에, 구현 방식이나 설계 방향이 상황에 따라 달라질 수 있습니다. 질문 전에는: 강의 내용을 다시 한번 확인해보시고 기존 질문/답변에 유사한 내용이 있는지도 함께 확인 부탁드립니다. 수강생분들과 함께 좋은 학습 환경을 만들 수 있도록 서로 존중하는 분위기에서 이용 부탁드립니다. 감사합니다.

  • seo
  • next.js
  • codex
  • cms
  • GA4
bt040404 댓글 1 좋아요 0 조회수 29

인기 태그

인프런 TOP Writers

주간 인기글