학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 클래스와 인터페이스 활용 강의를 듣고 문득 하위클래스는 상위의 AbstractAnimal과 Fly인터페이스와 관련이 있다는 느낌을 받아서 다음과 같이 코드를 작성했습니다. public static void main(String[] args) { Dog dog = new Dog(); Chicken chicken = new Chicken(); Bird bird = new Bird(); AbstractAnimal bird2 = new Bird(); soundTest(dog); soundTest(chicken); soundTest(bird); flyAnimalTest(chicken); flyAnimalTest(bird); soundTest(bird2); flyAnimalTest((Fly)bird2); } private static void flyAnimalTest(Fly fly) { System.out.println("날기테스트시작"); fly.fly(); System.out.println("날기테스트종료"); } 그런데 마지막 줄 flyAnimalTest에서 bird2는 인스턴스는 Bird2지만 호출타입은 AbstractAnimal이라서 AbstractAnimal을 Fly타입에 대입할 수 있나라는 의문도 들었고 무엇보다 AbstractAnimal에는 fly()라는 메서드가 없어서 이걸 AbstractAnimal에서 찾으면 당연히 없고 상위 클래스에서 fly를 찾으려고 해도 AbstractAnimal이 최상위니까 실행이 안되겠지? 라는 생각이 들었는데 이게 맞을까요? 그리고 한가지 더 궁금한게 있습니다. (Fly) bird2를 flyAnimalTest에 넣었는데 실행이 잘 됐습니다. bird2의 호출 타입은 Abstract이고 인스턴스는 Bird인데 (Fly)를 해주면 캐스팅 되는 과정이나 메모리상에서 fly함수를 어떻게 찾아가는지 과정을 알고싶습니다. bird2를 (Bird)로 다운캐스팅한 다음 flyAnimalTest메서드의 매개변수 Fly fly에 대입된 후에 작동하는 것은 이해가 가는데 (Fly)로 캐스팅했을 때 되는 이유는 무엇인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 왜 이런 오류가 발생하는 걸까요? gradlew.bat build로 해도 똑같고 gradle home도 잘 지정되어 있습니다.
안녕하세요 강사님! 12.11) Home 페이지 구현하기 2.기능 강의에서, getMonth( ) 함수는 월이 0부터 시작된다고 말씀하셨습니다. 따라서 아래 코드처럼 Header 컴포넌트에 title의 props 값으로 +1을 하여 전달해야 한다는 것을 이해했습니다. <Header title={`${pivoDate.getFullYear()}년 ${pivoDate.getMonth() + 1}월`} leftChild={<Button text={"<"} onClick={onDecreaseMonth} />} rightChild={<Button text={">"} onClick={onIncreaseMonth} />} /> 그런데 버튼을 누르면 저번 달, 다음 달로 이동하는 함수를 만들 땐 getMonth( ) 함수를 불러오고 각각 1을 더하거나 빼는 함수로 설정한 점이 이해가 가지 않습니다. 0월부터 시작하기 때문에 각각 2를 더하거나 빼야 한다고 생각했는데 왜 1을 더하고 빼는지 모르겠습니다. ㅠㅠ const onIncreaseMonth = () => { setPivoDate(new Date(pivoDate.getFullYear(), pivoDate.getMonth() + 1)); }; const onDecreaseMonth = () => { setPivoDate(new Date(pivoDate.getFullYear(), pivoDate.getMonth() - 1)); }; 항상 좋은 강의 만들어주셔서 감사합니다!
안녕하세요. 강사님! 강의에서는 폴더에 상관없이 파일명을 모두 소문자로 하셨는데 이게 혹시 next에서 관례인가요? 제가 components 폴더 내 컴포넌트들 이름을 그동안 리액트에선 파스칼 케이스를 따라서 습관적으로 최근 next 과제에도 그렇게 제출했는데 이게 모던하지(?)않은 방식이었나 싶어서요!! 스타일의 차이인지 아니면 더 유용한 쪽이 있는지 궁금합니다. 🧐
결국 next js 에서만 http.ts 를 만들어주어서 express 서버로 mock server(?)를 직접 띄우는 형식인것 같은데 맞나요? 또 제 생각에는 이렇게 msw 를 사용하면, 내가 백엔드 서버로 요청을 보내도 그 요청을 중간에 가로채서 mock api 로 요청이가고 내가만든 가짜응답을 보내주는것이 되어야 할것같은데, 지금은 저희가 띄운 9090으로 요청을 보내고 있네요. (이 내용도 맞는지 궁금합니다, next 프로젝트가 아니라면 localhost:8888(실제 나의 백엔드 서버)로 요청을 보냈다고 가정할때 msw가 요청을 가로채가나요?) 그렇다면 굳이 msw 를 사용하는 이유가 무얼까요..? 혼자 express 서버를 만들어서 가짜응답 전해주는것과 차이를 모르겠습니다..! 감사합니다
안녕하세요 이정환님!! 강의 잘듣고 있습니다. 12.11) Home 페이지 구현하기 2. 기능 강의 수강중에 궁금한 점이 생겨 문의드립니다. 두개의 날짜를 정보를 비교를 하기 위해서는 Date의 객체 형식을 timestamp 형식으로 변경을 한후 두개의 날짜 정보를 비교를 해야 하는 것으로 알고 있습니다. 강의에서 pivotDate에 저장이 되어있는 state 날짜 기준으로 data를 필터링 하기 위해서는 시작시간과 끝시간을 timestamp 형식으로 만들고 시작시간과 끝시간 사이에 있는 data 객체 안에 있는 createDate의 값을 필터링 하셨습니다. 여기서 궁금한점이 startDate와 endDate 변수에는 timestamp형식의 날짜 정보가 들어가 있지만 data.createDate 정보에는 객체형태의 날짜 정보가 들어가 있습니다. 어떻게 객체 형태의 날짜 정보와 timestamp 형식의 날짜 정보가 비교가 가능한지 궁금합니다. 제가 어떤 부분에서 착각을 하고 있는지 궁금합니다. 감사합니다.^^
안녕하세요, “Java 언어 기출문제의 변형” 수업 수강 중 이해가지 않는 부분이 있어 질문 드리게 되었습니다. (4:30~) class A { A() { System.out.print(‘A’); } A(char x) { System.out.print(x); } } class B extends A { B() { super(); System.out.print(‘B’); } B(char x) { this(); System.out.print(x); } } public class Test { public static void main(String[] args) { A s1 = new A(‘X’); A s2 = new B(‘Y’); A s2 = new B(‘Y’); 이 부분을 실행할 때 부모생성자를 먼저 실행한 후 B(char x)를 실행하지 않고 B(char x)를 먼저 실행하는 이유가 궁금합니다. 동일 질문에 파라미터가 있는 것을 이미 실행했다면, 기본 생성자는 실행되지 않는다고 답변 주셨는데, 왜 이 코드에서는 파라미터가 있는 것을 실행하기 전에 부모 생성자를 먼저 실행하지 않는 것인지 궁금합니다.
CSR 과 다르게 서버에서 렌더링 과정을 거쳐 보여주는 것이라면.. 결국 이 과정이 SSR 이라는 것으로 이해를 했는데요. 강의 목차를 보니 SSR, SSG(?) 는 또 따로 나와있어서요.. 궁금해서 질문 드립니다 !!! 추후 배울 내용이라 지금 시점에서는 SSR 과는 다르게 Next.js 에서는 "사전 렌더링"이라는 것이 따로 존재한다고 이해하면 되는걸까요?
안녕하세요. user(1~9)@aaa.com 계정 생성 후 postman 으로 /api/member/login 호출하여 로그인 성공 후, ApiLoginSuccessHandler 으로 빠지는 부분을 확인 하려는 참입니다. 그런데 postman 으로 호출시 loadUserByUsername 에서 return 이후 successHandler 가는 도중 실패가 뜹니다. Failed to process authentication request org.springframework.security .authentication.BadCredentialsException: 자격 증명에 실패하였습니다. DB에 있는 패스워드와 1111을 매칭해봐도 true 로 반환됩니다. 어떤부분이 문제 일까요...?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 정적클래스를 복습하면서 공부하다가 정적 메서드를 만들게 되엇고, 바깥 클래스에서 안쪽 클래스 변수를 접근하면 어떻게 해야 할까? 하다가 이런코드가 나왔습니다. (print()는 지움-내용을 보이기 위해서) 결과 값 바깥 클래스 에서 정적 메서드를 만들고 나서 든 생각이, 안쪽 정적 클래스(static class)의 정적 클래스 변수를 갖고 와서 사용하는 경우가 있는지 궁금해지더라고요 . 이런 경우가 있는지 알고 싶습니다. 추가1 오늘(9.3) 영한님 영상이나, 글을 보면서 실무에 필요한 코드들만 나온다고 했었는데, 만약에 있어도 안보여 주신 이유가 거의 안써서 안보여 주신건가요? 답변 부탁 드립니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] New Project로 프로젝트를 생성할 때 좌측에 그냥 New Project가 없고 자바, 코틀린 등등 중에 선택하게 뜹니다. 디폴트 자바로 프로젝트 생성을 진행하면 이렇게 오류가 발생하고요. 강사님은 다른 선택사항 없이 그냥 New Project로 프로젝트를 생성하시던데 제가 어떤 부분을 놓친 걸까요?