묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 핵심 원리 - 기본편
스프링이 제공하는 인터페이스에 의존하면 안되는 이유 문의
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] "스프링 핵심 원리 - 기본편" 강의에서커리큘럼 = 인터페이스 InitializingBean, DisposableBean에서3:45 부터 김영한 강사님께서 하신 말씀에 대해 궁금증이 생겨 질문 남깁니다. 강사님께서 스프링이 제공하는 어노테이션까진 괜찮지만 인터페이스까지 의존하게 되면 너무 부담스럽다고 말씀하셨는데 혹시 이유가 뭔지 알 수 있을까요? 이미 어노테이션에 의존했다면스프링에 의존적인 것은 피할 수 없는 일인데왜 어노테이션은 되고 인터페이스는 안되는 건가요?
-
미해결김영한의 실전 자바 - 기본편
jdk 버전 21
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에서는 21버전 Oracle OpenJDK를 사용하라고 하셨는데 제 화면에는 (21버전) OracleGraalVM 만 뜨는데 이걸로 사용해도 무방한가요? 상관없어보이지만 혹시나 해서 궁금한 마음에 여쭤봅니다!
-
미해결스프링 핵심 원리 - 기본편
실습관련 에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 강의를 보며 실습을 진행하던 중 Test폴더에서 진행하는 코드에 에러가 발생해서 해결방법을 알고싶어 질문합니다두 파일에서 메소드를 확인할 수 없다는 에러가 발생해서 해결방법을 찾다가 해결하지 못했습니다
-
미해결김영한의 실전 자바 - 기본편
부모(Item) 클래스의 생성자 및 메서드의 접근 제어자가 public인 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 강의 잘 듣고 있습니다.해당 강의에서 부모 클래스인 Item의 생성자 및 print(), getPrice()메서드에 대한 접근제어자를 public으로 설정하셨습니다.제 생각에는 ShopMain 클래스에서 부모 클래스에 접근할 때에는 모두 Item의 자식(book, album, movie)을 통해서만 접근하는 상황이고 이러한 접근 방식이 옳다고 판단되어서 부모 클래스의 생성자 및 메서드의 접근 제어자를 protected로 설정하였습니다(당연하게도 해당 예제에서 실행 결과는 public으로 했을 때와 동일합니다).이 경우에 언젠가는 자식 클래스를 통해 접근하지 않을 경우가 발생할 수 있기 때문에 public으로 설정을 하신 걸까요? 아니면 protected로 설정하는 것이 조금 더 논리에 맞는 걸까요?package extends1.ex; public class Item { private String name; private int price; protected Item(String name, int price) { this.name = name; this.price = price; } protected void print() { //이름과 가격은 모든 자식에서 동일하게 수행하는 기능이므로 부모에 구현 System.out.println("이름:" + name + ", 가격:" + price); } protected int getPrice() { return price; } }
-
미해결김영한의 실전 자바 - 기본편
오버라이딩의 조건
왜 오버라이딩하는 메서드의 접근 제어자는 부모 클래스의 메서드보다 더 제한적이면 안되는 건가요??
-
해결됨스프링 핵심 원리 - 기본편
PrototypeBean 클래스는 Static 영역과 Heap 영역 모두에 존재하나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]너무 기초 질문인가 싶지만 제가 맞게 이해하고 있는지 확신이 안 돼서 질문드립니다. 제가 이해하고 있는 내용들을 적었습니다. 아래 코드에서 static class PrototypeBean으로 되어 있는 PrototypeBean 클래스는 클래스 로더가 클래스들을 로딩할 때 Method Area(Static Area)에 적재되며, 이 Method 영역에선 인스턴스 객체들처럼 여러 개로 존재하는 것이 아니다. getBean(PrototypeBean.class)을 통해 조회할 때마다 생성되는 프로토타입 빈들은 Heap 영역에 생성되는 객체들이다.(마치 PrototypeBean이 static 클래스가 아닌 것처럼)결론적으로 PrototypeBean은 static임에도 불구하고 Heap 영역에 객체 형태로도 여러 개 존재한다.(조회되는 만큼) 혹시 위 내용들 중에 제가 잘못 이해하고 있는 부분이 있을까요? 자바 기본 문법을 배웠을 땐 static으로 지정하는 것들은 Method Area에만 있고, 객체별로 관리되는 게 아니기 때문에 Heap 영역엔 없는 거로 이해하고 있었는데, PrototypeBean의 경우엔 static임에도 Heap 영역에도 있어서 좀 생소하긴 합니다. 그래도 이 강의를 들으면서 프로토타입 스코프에 대해 이해한 대로면 위에 정리한 1, 2, 3처럼 생각되기는 하는데 제가 혹시 이해를 잘못한 부분이 있나 해서 확인받고 싶습니다. public class PrototypeTest { @Test public void prototypeBeanFind() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(PrototypeBean.class); System.out.println("find prototypeBean1"); PrototypeBean prototypeBean1 = ac.getBean(PrototypeBean.class); System.out.println("find prototypeBean2"); PrototypeBean prototypeBean2 = ac.getBean(PrototypeBean.class); System.out.println("prototypeBean1 = " + prototypeBean1); System.out.println("prototypeBean2 = " + prototypeBean2); assertThat(prototypeBean1).isNotSameAs(prototypeBean2); prototypeBean1.destroy(); prototypeBean2.destroy(); ac.close(); } @Scope("prototype") static class PrototypeBean { @PostConstruct public void init() { System.out.println("PrototypeBean.init"); } @PreDestroy public void destroy() { System.out.println("PrototypeBean.destroy"); } } }
-
미해결스프링 핵심 원리 - 기본편
@ComponentScan 강의 중 테스트 코드 에러에 관하여
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'hello.core.member.MemberService' available다음과 같이 에러가 나타났으며 강의 내용 그대로 따라서 @Component @Autowired 작성했는데 해당 오류가 왜 나타난지 모르겠습니다. MemberServiceImpl에 @Component와 생성자에 @Autowired 다 확인했습니다. [이전 강의 중 Singleton에 대한 내용은 입력하지 않았는데 해당 클래스가 있어야 정상적으로 작동하는 것인가요..?]
-
미해결스프링 핵심 원리 - 기본편
노란 바탕 글씨는 왜 나오나요?
노란 바탕 글씨가 나오네요 ???
-
미해결스프링 핵심 원리 - 기본편
AutoAppConfig 필터링 문제
안녕하세요! 컴포넌트 스캔의 필터와 관련하여 질문이 있어 올립니다!기존에 있던 AppConfig.java로 등록한 Bean을 제외하려고 excludeFilters를 사용했는데, CoreApplication을 실행하면 Parameter 0 of constructor in hello.core.member.MemberServiceImpl required a single bean, but 2 were found: - memoryMemberRepository: defined in file [파일경로/core/out/production/classes/hello/core/member/MemoryMemberRepository.class] - memberRepository: defined by method 'memberRepository' in class path resource [hello/core/AppConfig.class]이런 오류가 뜹니다. 코드는 다음과 같습니다.AppConfig.javapackage hello.core; import hello.core.discount.DiscountPolicy; import hello.core.discount.FixDiscountPolicy; import hello.core.discount.RateDiscountPolicy; import hello.core.member.MemberRepository; import hello.core.member.MemberService; import hello.core.member.MemberServiceImpl; import hello.core.member.MemoryMemberRepository; import hello.core.order.OrderService; import hello.core.order.OrderServiceImpl; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class AppConfig { @Bean public MemberRepository memberRepository() { return new MemoryMemberRepository(); } @Bean public MemberService memberService() { return new MemberServiceImpl(memberRepository()); } @Bean public DiscountPolicy discountPolicy() { //return new FixDiscountPolicy(); return new RateDiscountPolicy(); } @Bean public OrderService orderService() { return new OrderServiceImpl(memberRepository(), discountPolicy()); } } AutoAppConfig.javapackage hello.core; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; import static org.springframework.context.annotation.ComponentScan.*; @Configuration @ComponentScan( excludeFilters = @Filter(type = FilterType.ANNOTATION, classes = Configuration.class) ) public class AutoAppConfig { }위의 오류는 memberRepository뿐만 아니라 rateDiscountPolicy에서도 나옵니다. @Component와 @Autowired 어노테이션은 잘 설정한것 같은데 뭐가 문제일까요?
-
미해결스프링 핵심 원리 - 기본편
AllBeanTest 결과가 안나옵니다???
테스트 결과 map과 list가 다 비어서 나오네요?AutoAppConfig.class를 AppConfig.class로 바꾸어도 결과가 똑같습니다.
-
미해결김영한의 실전 자바 - 기본편
기본형참조형 문제풀이
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]문제 풀이 중 gettotalamount 메서드 부분에서 인트(int)반환을 돌리는 것과 보이드(void) 반환타입이 없게 해서 sysoutprint 를 바로 적어서 하는 것 차이는 뭔가요?
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
for문과 출력문을 나누지않고 한 문단에 작성하면 안될까요?
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.리팩토링 2 강의에서 마지막 int i 를 선언하는 영상에서는 조건식선언 따로 작성하시고 출력문을 따로작성하셨는데작성한 코드처럼 한번에 조건식에서 출력까지 한번에 가면 안되는 이유라도있을까요? 아니면 버그발생이 쉽게나오기 때문인가요?두 코드의 차이가 알고싶습니다.package Array; public class Arraydi4 { public static void main(String[] args) { //2x3 2차원 배열생성 int[][] arr = new int[10][10]; //2행 3열 int i = 0; for (int row = 0; row < arr.length; row++) { for (int culum = 0; culum < arr[row].length; culum++) { arr[row][culum] = i++; System.out.print(i + " "); } System.out.println(); } } }
-
미해결김영한의 실전 자바 - 기본편
참조값에 대한 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.제가 제대로 이해했는지 답변 부탁드립니다.Student student1 = new Student(); 이부분에서 Student 클래스에 새로운 객체가 생성되고 student1라는 변수에는 생성된 객체가 아닌 객체의 참조값(메모리에 저장된 위치)이 저장된것이 맞나요?students[0] = student1; 에서는 student1에는 참조값이 들어가있는 상태이고 students[0]에 student1의 참조값이 그냥 대입되는 것이 아니라 복사된 참조값이 대입된다는 것이 맞나요? 결과적으로 김영한님이 주의해야한다는 것이 정확히 무언이지를 모르겠습니다. 12:00의 주의! 변수에는 인스턴스 자체가 들어가있는 것이 아니다! 부분에서 인스턴스가 복사되어 대입되는것 이라고 생각하더라도 문제가 될 것이 있나요?
-
미해결김영한의 실전 자바 - 기본편
중급
혹시 hasNextLine() , while(hasNext()) 이런건 다음 중급 강의에서 다뤄주시나요/ 다뤄주신다면 몇강에서 다뤄주시나요?
-
미해결코틀린 문법부터 실무까지 (자바 to 코틀린 실무)
실습. gradle update/script 강의 문의
강의내용대로 project structor와 setting에서 SDK설정을 하고 grade build를 했으나 다음과 같이 오류가 납니다.오류메시지/prince-maker-main/build.gradle.kts:5:59: Unresolved reference: id 오류 라인 소스id("org.springframework.boot") version springBootVersion id("io.spring.dependency-management") version "1.1.4"해당부분이 해결되지 않으면 이후 강의는 눈으로만 봐야될꺼 같아서 문의드립니다~
-
해결됨스프링 핵심 원리 - 기본편
static inner class 관련 과거 질문 글을 보고 추가적으로 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]https://www.inflearn.com/questions/257297/testconfig-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%97%90%EC%84%9C-static%EC%9D%84-%EB%96%BC%EB%B2%84%EB%A6%AC%EB%A9%B4 이 질문 글의 답변을 보고 저도 궁금한 점이 있습니다. 아마 이 질문과 관련된 코드는 아래 코드인 것 같습니다. public class ApplicationContextExtendsFindTest { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(TestConfig.class); . . . (생략) . . . @Configuration static class TestConfig { @Bean public DiscountPolicy rateDiscountPolicy() { return new RateDiscountPolicy(); } @Bean public DiscountPolicy FixDiscountPolicy() { return new FixDiscountPolicy(); } } } 답변 내용 중에 다음과 같은 내용이 있습니다. "Test 클래스 내 TestConfig 클래스에 static 키워드를 뺀다면 Test 클래스가 생성되어야 TestConfig를 사용할 수 있습니다. 그러나 Test 클래스 내에서는 이미 TestConfig가 생성되기도 전에 스프링 컨테이너에서 TestConfig 빈이 있는지 찾아오려고 합니다. 당연히 스프링에서는 그런 빈이 없다고 합니다." 여기서 스프링 컨테이너에서 TestConfig 빈이 있는지 찾아오려고 한다는 부분이 잘 이해가 안 됩니다. AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(TestConfig.class); 이 코드는 TestConfig를 빈으로 등록하는 거로 알고 있습니다. 그러면 TestConfig 빈이 있는지 찾는 거랑은 다르지 않나요?
-
해결됨스프링 핵심 원리 - 기본편
ac.close()를 호출하지 않고 프로세스가 종료될 때의 스프링 컨테이너
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]public class SingletonTest { @Test public void singletonBeanFind() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(SingletonBean.class); SingletonBean singletonBean1 = ac.getBean(SingletonBean.class); SingletonBean singletonBean2 = ac.getBean(SingletonBean.class); System.out.println("singletonBean1 = " + singletonBean1); System.out.println("singletonBean2 = " + singletonBean2); assertThat(singletonBean1).isSameAs(singletonBean2); //ac.close(); } @Scope("singleton") static class SingletonBean { @PostConstruct public void init() { System.out.println("SingletonBean.init"); } @PreDestroy public void destroy() { System.out.println("SingletonBean.destroy"); } } } 이 코드에서 ac.close() 부분을 주석 처리하고 실행하면 다음과 같이 SingletonBean.destroy는 출력되지 않습니다. 왼쪽에 SingletonTest를 누르든, singletonBeanFind()를 누르든 SingletonBean.destroy는 출력되지 않습니다. ac.close()를 호출하는 게 스프링 컨테이너를 종료하는 거라고는 알고 있는데 ac.close()를 호출하지 않더라도 테스트가 끝나면 알아서 스프링 컨테이너가 종료되고, 종료되기 직전에 종료 메서드도 호출될 거라고 생각했는데 왜 SingletonBean.destroy가 보이지 않는지 궁금합니다. ac.close()를 호출하지 않으면 프로세스 실행이 끝나기 전에 알아서 컨테이너를 종료시켜 주진 않는 건가요? 질문 쓸 땐 궁금했는데 막상 다 적고 나니깐 ac.close() 하지 않으면 스프링 컨테이너가 알아서 종료되지 않는 건 당연한 건가? 싶기도 하네요..
-
미해결스프링 핵심 원리 - 기본편
@Configuration과 싱글톤 강의에 대한 질문
안녕하세요 현재 싱글톤 강좌를 시청하고 있습니다.AppConfig에서 호출관계의 관한 싱글톤 확인 부분에 중 예외가 발생하였고 MemberServiceImpl OrderServiceImpl 확인을 했는데 어떤 부분에서 오류가 발생한지 잘 모르겠습니다. 예외는 다음과 같이 나왔으며org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'memberRepository' available아래는 MemberServiceImpl OrderServiceImp 그리고 테스트 코드입니다.public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; public MemberServiceImpl(MemberRepository memberRepository) { this.memberRepository = memberRepository; } @Override public void join(Member member) { memberRepository.save(member); } @Override public Member findByMember(String userId) { return memberRepository.findById(userId); } public MemberRepository getMemberRepository(){ return memberRepository; } }public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) { this.memberRepository = memberRepository; this.discountPolicy = discountPolicy; } @Override public Order createOrder(String userId, String itemName, int productPrice) { Member member = memberRepository.findById(userId); int discountPrice = discountPolicy.discount(member , productPrice); return new Order(userId , itemName , productPrice , discountPrice); } public MemberRepository getMemberRepository() { return memberRepository; }void configurationTest(){ ApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); MemberServiceImpl memberService = ac.getBean("memberService", MemberServiceImpl.class); OrderServiceImpl orderService = ac.getBean("orderService", OrderServiceImpl.class); MemberRepository memberRepository = ac.getBean("memberRepository", MemberRepository.class); MemberRepository memberRepository1 = memberService.getMemberRepository(); MemberRepository memberRepository2 = orderService.getMemberRepository(); System.out.println("memberService -> memberRepository = " + memberRepository1); System.out.println("orderService -> memberRepository = " + memberRepository2); System.out.println("memberRepository = " + memberRepository); }
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
개발환경 설정 관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 개발환경 설정중인데 JDK21버전으로 설정 후vendor 선택하려니까 Oracle OpenJDK22만 뜨고 Oracle OpenJDK22로 선택하면 JDK버전이 자동으로 22로 바뀝니다.22버전으로 설정해도 괜찮은건가요?
-
미해결김영한의 실전 자바 - 기본편
static 메소드 안에 지역 변수
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 제가 이해한게 맞는지 확인하고자 질문 남깁니다.static 메소드와 변수는 메소드 영역에 저장이 되는데 그렇다면 static 메소드 안에서 생성된 지역 변수는 stack 영역에 할당되는 것인가요? 아니면 함께 메소드 영역 내부에 저장이 되나요?