묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
프로그래밍언어 자바가 어렵네요..
강의를 잘해주시는데 문제풀이로 들어가면 막히기 시작하는거 같습니다… 추가적인 문제풀이를 통해서 복습하는 수강을 하실 계획이 있는지 궁금하네요ㅠ 23년 1회차부터 24년 1회차까지 혼자서 문제풀어보니 이미 봐왔던 문제들이고 정답을 알고 있어서 막힘없이 풀리기는 하는 상태네요.. 로직 이해를 좀더 해야되는 것 같고 자바 수강을 마쳤음에도 한번 더 수강을 하려고 합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
강사님 코드 그대로 했는데 결과가 다릅니다. @SequenceGenerator 값이 50씩 늘어나요.
[질문 내용]안녕하세요 김영한 강사님. 강의 잘 듣고 있습니다.실습도중 저는 강사님과 똑같은 코드임에도 불구하고 다르게 동작하게 되어 질문 남기게 되었습니다.GeneratedValue 전략에서IDENTITY 전략은 persist 하는 과정에서 바로 DB insert를 하는 것을 이해했고SEQUENCE 전략은 allocationSize를 통해 처음 call next value 2번 호출 후 -1 의 값이 나와야하는데 저는 -1이 되지 않습니다.create 으로 하고 실행하고 create-drop 하고 실행하고 아예 캐시 문제인가 하여, DB를 전부 드랍후 다시 해보았는데도 TEAM_ID ID NAME null 1 m4null 2 nullnull 3 nullnull 4 nullnull 52 m4null 53 nullnull 54 nullnull 55 null값이 이런식으로 저장됩니다. 강사님과 코드는 동일한데 무엇 때문에 이렇게 동작할까요?package hellojpa; import jakarta.persistence.*; /** * @author : ewjin * @fileName : Member * @since : 24. 6. 20. */ @Entity @SequenceGenerator(name = "MEMBER_SEQ_GENERATOR", sequenceName = "MEMBER_SEQ", initialValue = 1, allocationSize = 50) public class Member { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "MEMBER_SEQ_GENERATOR") private Long id; @Column(length = 300) private String name; @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; public Long getId() { Class<? extends Member> a = getClass(); System.out.println(a); return id; } public Team getTeam() { return team; } public void setTeam(Team team) { this.team = team; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } package hellojpa; import jakarta.persistence.*; import org.hibernate.Transaction; import java.util.Arrays; import java.util.List; public class JpaMain { public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); try { Member m1 = new Member(); m1.setName("m1"); Member m2 = new Member(); m1.setName("m2"); Member m3 = new Member(); m1.setName("m3"); Member m4 = new Member(); m1.setName("m4"); em.persist(m1); em.persist(m2); em.persist(m3); em.persist(m4); System.out.println("m1.getId() = " + m1.getId()); System.out.println("m2.getId() = " + m2.getId()); System.out.println("m3.getId() = " + m3.getId()); System.out.println("m4.getId() = " + m4.getId()); tx.commit(); } catch (Exception e) { System.out.println("에러남========================="); tx.rollback(); System.out.println(e.getCause()); System.out.println(e.getMessage()); System.out.println(e.getStackTrace()); e.printStackTrace(); } finally { em.close(); emf.close(); } } }
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
8강 반복문+조건문 문제 풀이 예제 관련 질문
선생님, 안녕하세요!제가 비전공자 문과 직장인이라 ^^; 정보처리기사 실기 코드해석 문제들을 어떻게 준비해야될지 막막했는데,이번에 좋은 강의 마련해주셔서 감사한 마음으로 잘 듣고 있습니다. 다름이 아니라 금번에 업데이트해주신 8강 반복문+조건문 문제 풀이 영상에서올려주신 예제의 풀이가 잘 이해되지 않아서 질문글을 올리게 되었습니다.해당 예제는 6번째 슬라이드에 있는 Java 코드입니다. 강의 9:06 경에서 0, 2, 4, 3, 8 이렇게 5개를 언급해주셨는데,i<10 에 해당하는 정수에 대해서(i%2==0lli%3==0)&&i%6!=0 에 해당하는 것은제가 생각했을 때는 2, 3, 4, 8, 9 이렇게 5개가 되는게 맞는게 아닐까 해서요. ^^;(정수 0의 경우에는 6으로 나누면 어차피 0이니까) 제가 코드 해석 배우는건 이번이 처음이라 ^^;모르는거 투성이라 너무 지엽적인걸 여쭤봐서 괜히 선생님 시간을 뺏는게 아닐까 조심스럽기는 하네요.모쪼록 확인 한번 해주시면 학습에 많은 도움이 될 것 같습니다. 코드 해석이라면 늘 어렵고 막연하게만 생각했는데저 같은 초보도 잘 이해할 수 있도록 설명을 차근차근 쉽게 해주셔서 준비에 많은 도움이 되고 있습니다.마지막 강의까지 잘 따라가보겠습니다.비가 많이 오는데 모쪼록 안전에 유의해주시고 행복이 가득한 주말 보내세요~~!! 감사합니다.
-
해결됨자바 9부터 자바 21까지
compact constructor 질문이 있습니다.
강의 10강 7:15 여기에 보시면컴팩트 컨스트럭터를 사용하는 경우 필드에 값을 넣어줄 수 없다고 말씀해주셨는데여기서 직접 this.name 으로 넣는건 불가능하지만public record MemberRecord( String name, @CustomAnnotation int age ) { private static final String DEFAULT_NAME = "Unknown"; private static final int DEFAULT_AGE = 1; public boolean isAdult() { return age > 20; } public MemberRecord { if (name == null || name.isBlank()) { name = DEFAULT_NAME; } if (age < 0) { age = DEFAULT_AGE; } } }this.name으로 값을 할당하는 것이 아니라 잘못된 값이 들어오면 그걸 변경해서 넣어주는건 되는거 같습니다.이런 용도로 컴팩트 컨스트럭처를 사용해도 될까요?아니면 말씀해주신 것처럼 검증 용도로만 사용하는 것을 권장하시나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의 오디오 안들림
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의를 듣는 도중 오디오가 잘 나오다가 갑자기 안 나오더니 그때부터 모든 강의 소리가 안들리는데 왜그런지 알 수 있을까요?.. 노트북 오디오는 잘 작동합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
이해가 안가네요
설명을 하는데 이해가 바로 안되네요혼자 고민하고 몇번을 들어야 이해가 가는데 이강의는 정보처리기사 공부하는 사람들이 대부분인데 초보들이 대다수일건데 설명이 너무 빠르고 따라가기가 어렵네요
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
설명이 좀 세밀햇음 합니다. 이해가 안되요
이해가 어려운 섹션이나 영상 설명은 질문으로 꼭 남겨주세요.기출문제를 풀다가 막힌 개념이 있나요? 질문으로 회차나 번호, 개념을 예시로 질문해주세요. 답변에 도움이 됩니다.이론 문제는 통합본 PDF 파일로 제공될 예정입니다. (6월 중 업로드 예정)합격을 가르는 것은 역시 코드해석문제. 이론을 외울 시간이 없다면 코드에 익숙해지고, 중요 개념을 몇 가지 외워가면 합격할 수 있습니다.
-
미해결토비의 스프링 6 - 이해와 원리
정적 팩토리 메서드
안녕하세요 토비님 😄 강의 맛있게 잘 보고 있습니다.마이너 한 질문인데, 테스트에 Clock 을 이용한 테스트에서 6.50 초 쯔음 아래 와 같은 fixed <- 의 유형 ? 을 정적 팩토리 메서드라고 하셨는데 객체를 반환하기 위해 static 키워드를 사용해야 정적팩토리 메서드가 아닌지 여쭤봅니다@Bean public Clock clock() { return Clock.fixed(Instant.now(), ZoneId.systemDefault()); }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트코드 회원가입정보를 h2에넣고싶은데 테스트코드 통과해도 h2에 안 들어가요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.이렇게 했습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
제가 이해를 잘 못한 건가요??
[질문 내용]Drug DrugNutrient Nutrient(Enum) 타입이렇게 다대다 관계입니다. (DrugNutrient) @Query("select d from Drug d join d.drugNutrientList dn where dn.standardNutrient IN :standardNutrients group by d,dn " + "order by count(dn) desc") List<Drug> findProperDrug(@Param("standardNutrients") List<StandardNutrient> standardNutrients);저는 이 쿼리를 실행하면 mysql 은 SELECT d.* FROM drug d JOIN drug_nutrient dn ON d.drug_id = dn.drug_id WHERE dn.standard_nutrient IN ('CARBON_HYDRATE','PROTEIN','CALCIUM') GROUP BY d.drug_id, dn.drug_nutrient_id ORDER BY COUNT(dn.drug_id) DESC;이렇게 쿼리가 나갈 것이라고 예상했습니다. 따라서 그렇기 때문에 당연히 drug_id 가 중복해서 나올 것이라고 예상했습니다.실제로도 mysql 에서 중복되게 나오고요! 그러나 JPQL 을 통하면 drug_id 1이 중복해서 나오지 않습니다. 제가 쿼리를 잘 못 이해하고 있을까요? group by 에 무언가 있을 것 같긴 한데 놓친 내용이 있을 까요???실제 쿼리는 이렇게 나갑니다. select d1_0.drug_id, d1_0.drug_img_path, d1_0.english_name, d1_0.name, d1_0.url, d1_0.vendor from drug d1_0 join drug_nutrient dnl1_0 on d1_0.drug_id=dnl1_0.drug_id where dnl1_0.standard_nutrient in (?, ?, ?) group by d1_0.drug_id, dnl1_0.drug_nutrient_id order by count(dnl1_0.drug_nutrient_id) desc그리고 여담인데 group by 를 통하면 default batch fetch size 가 적용이 안되나요?1쪽에서 다쪽을 get 해서 사용했을 때 쿼리가 나가면서 Where 쪽에 In 쿼리가 바바박 나오던 걸로 기억합니다. List<Drug> findMoreSuitableDrugList = drugRepository.findProperDrug(standardNutrients); return findMoreSuitableDrugList.stream().map(drug -> DrugResponseDto.of(drug,drug.getDrugNutrientList().stream().map(drugNutrient -> { return drugNutrient.getStandardNutrient().getName(); }).collect(Collectors.toList()))).collect(Collectors.toList());원래 안된다면 성능 1대다 상황에서 성능 최적화는 어떻게 진행하는지 궁금하네요!
-
미해결PZM기반 실무중심 백엔드 부트캠프(프리트레이닝)
section 9 78강을 하던 도중에.. 문의드립니다
29-Jun-2024 16:47:09.258 INFO [mysql-cj-abandoned-connection-cleanup] org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading 불허되는 접근: 이 웹 애플리케이션 인스턴스는 이미 중지되었습니다. []을(를) 로드할 수 없습니다. 디버그 목적 및 불허되는 접근을 발생시킨 해당 쓰레드를 종료시키기 위한 시도로서, 다음 스택 트레이스가 생성됩니다. java.lang.IllegalStateException: 불허되는 접근: 이 웹 애플리케이션 인스턴스는 이미 중지되었습니다. []을(를) 로드할 수 없습니다. 디버그 목적 및 불허되는 접근을 발생시킨 해당 쓰레드를 종료시키기 위한 시도로서, 다음 스택 트레이스가 생성됩니다. at org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading(WebappClassLoaderBase.java:1328) at org.apache.catalina.loader.WebappClassLoaderBase.getResource(WebappClassLoaderBase.java:960) at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.checkThreadContextClassLoader(AbandonedConnectionCleanupThread.java:123) at com.mysql.cj.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:90) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833)이런 메시지가 나오면서 404 에러가 뜹니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
피보나치 예제
출력값 이해가 안되네요5까지는 맞는데변수가 5 면4+3 7 이고6이면 5+4 9아닌가요.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
왜13인지
왜 13인가요? H부터 0 이니까 , 랑 띄어쓰기가 포함인가요 포함해도 12이지않나요?이해가 어려운 섹션이나 영상 설명은 질문으로 꼭 남겨주세요.기출문제를 풀다가 막힌 개념이 있나요? 질문으로 회차나 번호, 개념을 예시로 질문해주세요. 답변에 도움이 됩니다.이론 문제는 통합본 PDF 파일로 제공될 예정입니다. (6월 중 업로드 예정)합격을 가르는 것은 역시 코드해석문제. 이론을 외울 시간이 없다면 코드에 익숙해지고, 중요 개념을 몇 가지 외워가면 합격할 수 있습니다.
-
미해결김영한의 실전 자바 - 중급 2편
comparable 질문
안녕하세요.강의에서 다음의 코드를 비교한 걸 보여주셨을 때 콘솔에 출력되는 개수가 다른데 왜 그런걸까요 ? 자바 버전에 따라 내부 구현된 정렬 알고리즘이 달라서 그럴까요 ? (강의는 출력 2개)@Override public int compareTo(MyUser o) { System.out.println(this + "vs " + o); return this.age < o.age ? -1 : (this.age == o.age ? 0 : 1); }MyUser{id='B', age=10}vs MyUser{id='A', age=30}MyUser{id='C', age=20}vs MyUser{id='B', age=10}MyUser{id='C', age=20}vs MyUser{id='A', age=30}MyUser{id='C', age=20}vs MyUser{id='B', age=10}
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
IDENTITY 전략을 사용할 시 Application 레벨에서 ID 값이 보장되나?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예[질문 내용]회원 서비스 개발 강의에서 3분 40초 ~ 4분 30초 사이에서 강사님 말씀 중에 DB에 들어가지 않아도 PK인 ID 값이 애플리케이션에서 보장된다고 말씀해 주셨는데 시퀀스 전략일 경우에는 확실히 가능하다고 생각하지만 IDENTITY 전략을 사용할 경우에도 ID 값이 보장되는지 궁금합니다.제가 생각하는 것은 IDENTITY 전략은 ID의 생성이 쿼리가 DBMS에 도달해 저장되는 시점에 할당되는 것으로 유일한 값을 보장해주는 것이고, 애플리케이션에서는 그 값을 저장하기 전까지는 알 수 없다는 것으로 알고 있는데 이 로직대로라면 ID 값이 보장될 수 없지 않나라고 생각합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
문자열은 그자체로 메모리를준다.
Char*s = & helli.world 라고 안한다 라는말에서 &가 뭔가요.말씀이 이해가 가질않네요.강의 열심히 수강중인데 너무 휙휙 넘어가서 이해하기가 상당히 어렵습니다. 어떻게 공부해야하나요?더불어 교재나 교안같은걸 다운받아 복습할수있으면 좋겠어요.이해가 어려운 섹션이나 영상 설명은 질문으로 꼭 남겨주세요.기출문제를 풀다가 막힌 개념이 있나요? 질문으로 회차나 번호, 개념을 예시로 질문해주세요. 답변에 도움이 됩니다.이론 문제는 통합본 PDF 파일로 제공될 예정입니다. (6월 중 업로드 예정)합격을 가르는 것은 역시 코드해석문제. 이론을 외울 시간이 없다면 코드에 익숙해지고, 중요 개념을 몇 가지 외워가면 합격할 수 있습니다.
-
미해결토비의 스프링 6 - 이해와 원리
싱글톤 레지스트리에 대한 질문
안녕하세요, 싱글톤 레지스트리 부분 강의를 들으며 궁금한 점이 있어 질문드립니다. 웹 어플리케이션에서 상태값을 가지지않는 객체를 매번 생성하는 것이 메모리의 부족을 일으켜 성능이 저하된다는 말에 동의합니다. 제가 궁금한 것은 이것이 크게 효과가 있는것인지에 대해 궁금합니다. 그렇게 생각하는 이유는 @Component 어노테이션이 달린 클래스들(비즈니스 로직이 담긴 스프링빈) 은 많은 상황에서 DTO 를 반환하게되는데 해당 DTO 를 인스턴스화해서 반환하는 작업이 계속 수행되면 결국에는 큰 차이가 없지않나[복잡도로 봤을때 객체의 인스턴스를 생성하는 횟수는 같은 O(n) 이 아닐까..?] 하는 생각이 들어 질문하게 되었습니다. DB 커넥션을 맺는 DataSource 같은 빈이 아닌 어플리케이션의 비즈니스로직을 담은 빈을 싱글톤으로 다루는 것이 큰 효과가 있는지에 대해 답변을 부탁드립니다. 좋은강의 감사합니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
웹에서 hello를 에러가 뜹니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 내용]컴퓨터를 포멧하고 인텔리제이를 깔아서 시작했는데 jdk가 설치 안되서 그런 걸까요? 어떤 것이 문제인지 모르겠습니다
-
해결됨김영한의 실전 자바 - 기본편
객체지향프로그래밍 파트 관련 질문드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요,강사님의 좋은 강의 감사드리며, 열심히 듣고 있습니다.다름 아니라, MusicPlayerMain3 관련 질문드립니다.우선 관련 코드를 보여드립니다.MusicPlayerData data = new MusicPlayerData();on(data);volumeUp(data);volumeUp(data);volumeDown(data);showStatus(data);off(data);}static void on(MusicPlayerData data){data.isOn = true;System.out.println("음악 플레이어를 실행합니다.");}static void off(MusicPlayerData data){data.isOn = false;System.out.println("음악 플레이어를 종료합니다.");}이 코드에서volumeUp과 volumeDown 메서드는 반환 타입이 void입니다.main 메서드 안에는 볼륨 관련 메서드를 호출하고 있고,따로 메서드 호출 결과를 저장할 변수는 선언되어 있지 않습니다.그럼에도 volume 값이 메서드 호출 이후 지속적으로 업데이트 되는 것은,기본적으로 main 메서드에서 생성한 data가 참조값을 갖고 있고, 메서드의 매개변수 역시 data와 같은 참조값을 갖고 있으므로, 따로 return type과 저장할 변수를 선언하지 않았어도 참조값이 가르키는 인스턴스의 value 값이 volumeUp, Down 메서드 호출 할 때마다 업데이트 되는 것인가요? 또한 만약 같은 코드가 기본형을 다루는 메서드 였다면 값이 업데이트 되지 않는 것인지 확인하고 싶습니다.제가 이해한 것이 맞는지 확인하고 싶습니다.감사합니다.
-
해결됨(2025) 일주일만에 합격하는 정보처리기사 실기
C언어 배열
#include <stdio.h>int main(){int arr[5] = {20, 30, 40, 50, 60};int *ptr;ptr = arr;printf("1번. %d\n", ++ *ptr);printf("2번. %d\n", *(arr+1));printf("3번. %d\n", *ptr++);printf("4번. %d\n", ++ *ptr);printf("5번. %d\n", *arr+1);printf("6번. %d\n", *ptr++);printf("7번. %d\n", *ptr+1);} 1번에서 ++*ptr이 반영되어 21,2번에서 *(arr+1)이 반영되어 arr[1], 30,3번에서 *ptr++이 반영되어 21 출력 후 22로 증감까지는 이해가 됬는데,4번 ++*ptr 출력값이 arr[1]로 넘어가는 이유가 궁금합니다. 배열 출력 시 배열 내의 값만 증감되는 것이 아니라 출력되는 배열도 같이 증감되는 건가요 ?