25-3-08 키워드 경쟁강도 분석코드설계
해결됨
파이썬으로 나만의 블로그 자동화 프로그램 만들기
25-3-08 키워드 경쟁강도 분석코드설계 이거 소스코드는어디에잇나요? 카페에도없는거같아서요
- python
- wordpress
- 웹-크롤링
- selenium
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
파이썬으로 나만의 블로그 자동화 프로그램 만들기
25-3-08 키워드 경쟁강도 분석코드설계 이거 소스코드는어디에잇나요? 카페에도없는거같아서요
미해결
자바 ORM 표준 JPA 프로그래밍 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 서비스에서 조회가 필요할때 연관관계를 설정하여 객체를 통한 조회가 그냥 Bean의 Repository를 통해 조회하는것보다 실무에서 어떤 점이 좋은지 궁금합니다. 어차피 지연 로딩이면 저장소 조회가 낫지 않나 싶어서요 감사합니다
미해결
[AI 실무] AI Research Engineer를 위한 논문 구현 시작하기 with PyTorch
cuda sdk에서 6.0을 설치할려고 하는데 pytouch install에서 링크( https://pytorch.org/get-started/previous-versions/)여기서 어느부분을 복사해야할까요? 윈도우입니다.
미해결
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 중 sleep(10) 코드를 넣고, 계산 속도가 너무 빨라서 , 다른 스레드와 동시 실행을 위해 잠깐 쉬었다가 실행을 한거라는데 이게 이해가 잘 안됩니다 제 생각엔 빨리 실행되어야 여러 스레드들이 동시에 공유변수 value에 접근해서 동시 실행될때가 많을 것 같은데, 왜 잠깐 쉬었다가 실행해야 더 충돌 횟수가 많아져서 result가 낮은 값이 나오는지 모르겠습니다. sleep(10)을 하면 실행 속도가 느려져서 오히려 경쟁 상태가 완화되어야하는거 아닌가요?
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
다형성을 위해 사용한다는데, 어차피 상속 받으면 부모의 클래스도 접근 가능하지 않나요? 업캐스팅하면 자식 클래스에만 있는 메소드는 사용할 수 없는데, 오히려 사용에 더 제한되는건 아닌지 궁금합니다. 감사합니다!
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 어떤 것이 문제인지 잘 모르겠습니다. springConfig도 정확히 입력했고 gradle파일과 properties파일도 정확히 작성했습니다. H2도 켜놓은 상태인데 오류가 나오네요. Member에 있는 데이터도 다 지웠고요. java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@6108fd23 testClass = hello.hello_spring.service.MemberServiceIntegrationTest, locations = [], classes = [hello.hello_spring.HelloSpringApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.OnFailureConditionReportContextCustomizerFactory$OnFailureConditionReportContextCustomizer@6f204a1a, org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties .PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@7b4c50bc, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@491b9b8, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@5a5a729f, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@1500b2f3, org.springframework.boot.test.web.reactor.netty.DisableReactorResourceFactoryGlobalResourcesContextCustomizerFactory$DisableReactorResourceFactoryGlobalResourcesContextCustomizerCustomizer@3aa078fd, org.springframework.test.context.support .DynamicPropertiesContextCustomizer@0, org.springframework.boot.test.context.SpringBootTestAnnotation@6e5c6e5c], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:180) at org.springframework.test.context.support .DefaultTestContext.getApplicationContext(DefaultTestContext.java:130) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:200) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:139) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:260) at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:160) at java.base/ java.util.stream .ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) at java.base/ java.util.stream .ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/ java.util.stream .ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at java.base/ java.util.stream .ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708) at java.base/ java.util.stream .AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/ java.util.stream .AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/ java.util.stream .ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151) at java.base/ java.util.stream .ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174) at java.base/ java.util.stream .AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/ java.util.stream .ReferencePipeline.forEach(ReferencePipeline.java:596) at java.base/java.util.Optional.orElseGet(Optional.java:364) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberController' defined in file [C:\Users\deukr\hello-spring\hello-spring\out\production\classes\hello\hello_spring\controller\MemberController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'springConfig' defined in file [C:\Users\deukr\hello-spring\hello-spring\out\production\classes\hello\hello_spring\SpringConfig.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'hello.hello_spring.repository.MemberRepository' available: expected single matching bean but found 2: memoryMemberRepository,springDataJpaMemberRepository
미해결
6일 만에 배우는 파이토치 딥러닝 기초
안녕하세요. 3-4 이진분류 모델링 실습 .ipynb 파일에서 궁금증이 생겨 질문 드립니다. 이직 여부 예측 분류 문제에서 직원 샘플에 대해 여러 가지 종류의 feature가 있는 것을 알 수 있습니다. 이 feature 중에는 숫자형 데이터도 존재하고, 범주형 데이터, 문자형 데이터(drop해서 삭제)도 존재합니다. 숫자형 데이터 같은 경우에는 그대로 모델링에 사용해도 되지만, 범주형 데이터 같은 경우에는 숫자 1 ~ 5 혹은 1 ~ 4 형태이긴 하지만 해당 숫자가 연속성을 가진 숫자가 아니고, 특정 의미(Bad, Good 등)를 가지는 범주를 나타내는 형태로 의미가 파악이 됩니다. 그렇기에 해당 데이터들에는 원핫 인코딩을 해야 할 것이라고 생각이 되는데, 이러한 생각이 맞는지 여쭈어 보고 싶습니다. 더불어 문자 데이터 feature는 삭제하고, 범주형 데이터는 원핫 인코딩을 하고, 숫자형 데이터는 그대로 이용해서 모델을 학습하고 예측을 한 결과, 이직 여부에서 Yes(1.0)인 경우에서의 정밀도와 재현율이 상당히 낮게 나오는 것을 확인할 수 있었습니다. 그래서 혹시 Yes(1.0)이 200개, No(0.0)이 1050개로 차이가 나서 이런 결과가 나온 것인가 싶어 훈련, 평가 데이터 분류에서 stratify=y를 하였는데도 결과는 크게 달라지지 않았습니다. 이에 대해서도 선생님께 여쭈어 보고 싶습니다. 읽어주셔서 감사합니다.
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
안녕하세요 쿠케님 ! CommentApiTest에서 readAll() 메서드의 body(CommentPageResponse.class); 부분에서 SQLException이 발생하는 것을 확인했습니다. 하지만 테이블 컬럼을 확인해보니, Comment 테이블에 content 컬럼이 분명히 존재하는걸 확인할 수 있었습니다. 그리고 실제로 readAll() 메서드가 사용되는 쿼리에서는 content 컬럼이 사용되지도 않는데, 어째서 content 컬럼을 찾을 수 없다고 하는지 모르겠습니다. findAll()의 쿼리가 잘못됐나 해서 쿼리문을 직접 실행을 해도 잘 돌아가는걸 확인할 수 있었습니다. 코드도 첨부하겠습니다.
미해결
김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 다수의 생산자와 소비자 스레드를 실행하는 환경에서 소비자 스레드와 생산자 스레드가 waiting이 되어 있는 경우, 한 생산자 스레드가 lock을 얻어 notify()를 실행하는 경우, WAITING이던 스레드가 BLOCKED가 되는데 소비자 스레드가 lock을 얻어 데이터를 사용한다는 보장이 되는 걸까요? 다른 생산자 스레드가 lock을 얻고 버퍼에 데이터를 가득채우는 경우도 발생할 수 있을 것 같아 궁금합니다! 결론적으로, 소비자는 생산자를 깨우고, 생산자는 소비자를 깨워야만 하는데 이를 notify()로 보장해줄 수 있는 지 궁금합니다!
해결됨
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 별로 중요한 질문은 아닐 수도 있는데 이 강의에선 application.yml을 사용하시고, 이후에 찍으신 강의인 스프링 로드맵에선 항상 application.properties를 사용하셨던 거 같은데 요즘엔 현업에서 뭘 더 선호하나요? 김영한 님이나 서포터즈 분들은 어떤 걸 더 선호하시는지 궁금합니다.
해결됨
스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. findParent 메서드에서 return문을 보면 getDeleted로 부모 댓글이 삭제됐는지 여부를 확인하는 코드가 있는데, 부모가 삭제됐을때를 체크하는 이유가 무엇인가요? 부모 댓글이 삭제됐을 때, 더이상 하위 댓글을 달 수 없도록 하기 위함인가요? 하위 댓글이 남아있는 이상 부모 댓글은 "삭제됐습니다"와 같이 표시만 할 뿐이고 db에서 삭제되지는 않더라도 deleted=true로 바뀌어 있을텐데 만약 부모 댓글이 삭제됐을때 하위 댓글을 추가로 달 수 없는게 아니라, 계속해서 하위 댓글을 달 수 있다면 부모 댓글이 삭제된 상태라 하더라도 create 메서드를 실행할때 부모 댓글의 id를 넣어도 문제 없지 않은가라는 의문이 들어서요 create 메서드를 보면 parent가 null이라면 부모댓글이니까 null을 넣고 하위 댓글이라면 findparent에서 찾은 부모 댓글의 id를 넣어주는 코드인데, 부모 댓글이 deleted=true로 바꼈다 할지라도 DB 자체에서 완전히 삭제되지 않은 이상 즉, 하위 댓글이 여전히 남아있는 상황이라면 deleted=true로 바뀐 부모 댓글의 id를 넣어줘도 되지 않나?라는 생각이 들어서 질문드립니다!
미해결
Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Resilience4j - circuitbreaker를 보며 공부 중에 feign 에 Resilience4j의 cb나 bulkhead를 적용하게 되면 feignfallbackfactory 동작 시, throwable이 wrapping 되는 현상이 나타납니다. (ex. ExecutionException) 예를 들어, 4xx대의 에러, 즉 FeignException.BadRequest에 대한 분기 처리를 하려면 fallbackfactory 에서 throwable에 대한 원본 cause 를 추출하는 방법 밖에는 없을까요? (ex, throwable.getcause().getcause())
해결됨
38군데 합격 비법, 2026 코딩테스트 필수 알고리즘
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 1- 10 어떤 알고리즘을 학습하고 계신가요? 1 - 10 2. 궁금한 부분 def find_not_repeating_first_character(string): occurrence_array = find_alphabet_occurrence_array(string) for char in string: if occurrence_array[ord(char) - ord('a')] == 1: return char return "_" def find_alphabet_occurrence_array(string): alphabet_occurrence_array = [0] * 26 for char in string: index = ord(char) - ord('a') alphabet_occurrence_array[index] += 1 return alphabet_occurrence_array 딩코딩코 선생님의 풀이와 다르게 반복된 값이 들어 있는 array에서 string의 element를 순회하면서 index의 빈도수를 조회하고 1이면 return 하도록 했는데 괜찮은 접근일까요?
미해결
Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
이와같이 이름이 ip 로 나오는게아니고 저렇게 host.docker.internal 로 나와서 도커랑 관련해서 설정이 꼬인거같아서 원상복구하고싶어서 질문드립니다 윈도우 환경입니다
미해결
실전 JSP (renew ver.) - 신입 프로그래머를 위한 강좌
jsp화면에서 contentType 과 pageEncoding 이 모두 UTF-8인데 왜 상단에 reqeust.setCharacterEnding("UTF-8"); 을 지정해야 되는지 잘 모르겠습니다. 어짜피 저 코드를 주석 달아도 실행되서 똑같이 출력 결과가 동일한데 굳이 하는 이유는 무엇인지 자세히 알려주실 수 있을까요?ㅠ
미해결
실리콘밸리 데이터 리더가 알려주는 Airflow 기초
Airflow Variables 설정시 스노우플레이크와 연결을 위한 snowflake_userid, snowflake_password, snowflake_account 설정은 이해를 합니다. 그런데 첫번째인 Country_capital_url 왜 설정하는지 이해가 안갑니다.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
point 0 1 2 3 isWhat 5 6 3 현재 point가 1로 6을 출력한 뒤 마지막 두번째 take()를 하면 return isWhat[point--]는 현재의 isWhat값인 6을 출력한 뒤에 point는 0이 되고, 다시 마지막 take()를 다시하면, return isWhat[point--]로 point 0일 때 isWhat의 값 5를 출력한 뒤에 point -1이 되어 종료되는 것은 아닌가요? 6이 한 번 더 있어야 되는 것은 아닌지 여쭈어 봅니다.
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 혹시 강의대로 똑같이 했는데 오류가 떠서 질문 남깁니다ㅠㅠ 오류 java : cannot find symbol symbol : class Controller 무엇이 문제일까요ㅠ.. 따로 건든것도 없습니다 .
해결됨
세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python)
from itertools import permutations infos = list(input()) ans = 0 for comb in set(permutations(infos)): ok = True for i in range(0,len(infos)-1): if comb[i] == comb[i+1] : ok = False break ans += ok print(ans) BOJ 1342번 문제를 다음과 같이 풀었는데 계속해서 메모리초과 때문에 오답처리가 나서 질문 남깁니다. permutations가 한 번에 모든 순열을 생성하기 때문에 메모리 문제가 발생한다고 GPT의 답변을 얻을 수 있었으나, 강사님의 풀이 1번에도 permutations가 있는데도 메모리초과가 나지 않고 정답처리가 나서 왜 이런 차이가 나는 지 궁금합니다.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
안녕하세요. Java 상속 10개 예제 파트의 유형 5. 부모 메서드를 오버라이딩하지 않고, 자식에서 새롭게 정의된 메서드를 사용 할 경우에 대해 질문이 있어서 남깁니다. 아직 제가 업캐스팅에 대해 완벽히 이해가 되었지 않았기 때문에 드리는 질문입니다. 업캐스팅이란, 객체 생성 시, 클래스의 타입은 부모 클래스로, 생성자는 자식 생성자로 하는 것이라 배웠습니다. 업캐스팅이 진행 될 경우, 기존 부모 클래스 내부 메서드는 해당 객체에서 활용할 수 있지만, 자식 클래스에서 부모 클래스의 메서드를 오버라이딩 하지 않고, 새롭게 정의한 메서드를 사용할 수 없는 것인가요? 예를 들어, 다음과 같은 코드를 살펴 볼 경우, class Parent { // 부모 클래스의 void형 메서드 show void show() { System.out.println("Parent show"); } } class Child extends Parent { // 자식 클래스의 void 형 메서드 show(int a) // 부모 클래스에 존재하지 않던 메서드를 새롭게 정의한 메서드 void show(int x) { System.out.println("Child show : " + x); } } public class Main { public static void main(String[] args) { Parent p = new Child(); // 업캐스팅으로 생성된 객체 p // p는 참조 타입이 Parent이고, 생성은 Child 생성자에 의해 생성된 객체이다 p.show(); // p.show() -> Child에 없는 메서드 -> Parent에서 해당 메서드 호출 p.show(1); // p.show(1) -> Child에만 있는 메서드 -> 참조 타입이 Parent이기 때문에 컴파일 에러 발생 } } p.show()는 Parent 클래스에서 정의된 메서드 show()를 호출하지만, p.show(1)는 Child 클래스에서만 정의된(Parent 클래스에는 없는) 메서드이기 때문에, 참조 타입에 따라 컴파일 에러가 발생하는 것 같습니다. 아직 제가 업캐스팅을 잘 이해하지 못해서 그런지, 업캐스팅이 없으면 안되는 경우를 제가 모르기 때문인지, 업캐스팅의 이점을 잘 모르겠습니다. 사실 저 경우도 단순히 Child 타입으로 p를 만들었다면 문제 없이 넘어가는 경우이고, 두 번째 자식 클래스의 메서드에서 오버라이딩을 진행한 경우에도 업캐스팅을 사용해야 하나?라는 의문이 들었습니다. class Parent { void show() { System.out.println("Parent show"); } } class Child extends Parent { void show() { System.out.println("Child show"); } void show(int x) { System.out.println("Child show : " + x); } } public class Main { public static void main(String[] args) { Child p = new Child(); p.show(); p.show(1); } } 업캐스팅을 단순히 정처기 실기를 통과하기 위한 하나의 주제로 보는 상황이라 이런 문제가 벌어지는 것 같습니다...ㅠㅠ 혹시 개발 과정에서 업캐스팅이 없으면 안 되는 경우(저처럼 그냥 타입을 Child로 바꿔버리면 안 되는 경우 등)에 대한 예시가 있을까요?? 다양한 문제 상황을 주셔서 여러 고민을 할 수 있는 것 같습니다. 항상 질 높은 강의 감사드립니다!