묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결그림으로 배우는 자바, 파트2: 객체지향!
인터페이스 자체에 잘 이해가 되질 않습니다.
안녕하세요. 홍팍님 인터페이스 강의에서 궁금한 점이 생겨 질문 드립니다. 인터페이스란 개념 설명해주신 대로 인터페이스란 프로토 타입(추상 메소드 ) 즉 빈껍떼기 메소드 라고 말씀해주셨습니다. 즉 알람이라는 메소드 안에 어떻게 알람이 작동할지 모른 상태라는 것인건 알겠습니다. 그리고 그 핸드폰(클래스)이 아직 어떻게 작동할지 모르는 알람에게 접근해 그 알람이 어떻게 작동할지 핸드폰(클래스)에서 재정의 즉 값을 넣어준다는 것도 잘 알겠습니다. 하지만 여기서 궁금한것이 저번 시간에 공부했던 클래스 메소드와 비교해 인터페이스의 장점이 무엇인지 잘 모르겠습니다. 객체가 주어지면 그 객체에 맞는 클래스를 만들고 그 클래스 안에 필드 값을 저장 및 생성자를 통해 필드 값에 대한 실행 코드를 작성하는것으로 알고 있습니다. 그 다음 메소드를 통해 함수 호출을 하는것도 알고 있구요. 이렇게 하면 굳이 인터페이스를 써야하는 이유가 있을까요? 제가 알고 있는 예로 말씀 드리겠습니다. 자동차(객체)라는걸 만든다고 가정할떄 class를 통해 자동차를 정의해주고 자동차의 속성(필드값)을 지정해주고 그 속성이 가지는 값들을 생성자를 통해 정의해주고 그 밑에 자동차의 기능(메소드)를 작성합니다. 그러면 한 class 안에 메소드가 이미 들어가 있는 상황이 되겠죠? 그렇다면 인터페이스를 통해 굳이 빈껍데기인 메소드를 만들고 이걸 한 class에서 불러와 값을 지정해주는 의미가 있나요? 이미 한 자동차라는 class안에 메소드까지 다 지정해놓은 상황인데 굳이 자동차의 기능을 빈껍데기로 만들고 이 빈껍데기를 자동차라는 class 가 받아서 그 메소드 값을 지정해준다는게 너무 비효율적 작업이 아닌가.. 생각이 듭니다..그리고 다른 클래스의 메소드를 불러오는거라고 한다면 상속이라는걸 통해 메소드를 받으면 되는거 아닌가요?.. 제가 말씀 드린 궁금증이.. 어떤 궁금증인지.. 잘 파악이 되셨는지 모르겠습니다. 워낙.. 글을 잘 못써서요.. 지금까지 긴 글 봐주셔서 감사의 말씀을 드리며... 답변 주시면 감사드리겠습니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
미니RPG 체력 게이지 #2 마지막 Attack 애니메이션 내부 이벤트 시간 조정에 대하여
강사님 안녕하세요. 강의 너무 잘 듣고 있습니다. 강의를 듣던 중 미니 RPG 체력게이지 #2에서 Attack 애니메이션 이벤트 시간을 앞으로 당기니 공격 모션의 속도가 빨라진것 같더라구요. 기분 탓인가 싶었는데 정말 빨라진 것 같습니다. PlayerController의 OnHitEvent에서 _stopSkill 변수 확인으로 State를 바꾸어서 인 것 같은데, 이벤트와 무관하게 애니메이션 작동하게 하려면 어떻게 진행하는게 좋을까요? 만약 뒷 부분 강의에서 해당 부분이 다루어진다면 뒷 강의에서 설명 나온다고 말씀만 부탁드립니다. 감사합니다.
-
미해결R로 무작정 해보는 data science
randomforest 질문
randomforest 강의 2분 40초 쯤에서 for(k in 1:10){ 코딩생략 acc2[k]<-acc[length(acc)] 인데 왜 acc의 마지막 부분을 acc2로 선택하나요?ㅜㅜ 저것마저 평균을 내야 하는거 아닌가요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
static에 관한 질문이 있습니다.
안녕하세요 강의를 시청하고 있는 학생입니다. 교수님께서 CreateMemberResponse와 CreateMemberRequest 클래스들을 static 으로 만드셨는데 혹시 어떤이유에서 static 선언을 하신건가요??? 항상 유익한 강의를 만들어주셔서 감사합니다
-
미해결실습 UI 개발로 배워보는 순수 javascript 와 VueJS 개발
net::ERR_ABORTED 404 (Not Found)
강의대로 똑같이 따라했는데 콘솔 로그를 보려고하면 net::ERR_ABORTED 404 (Not Found)라고 뜹니다 lite server도 1-vanilla 폴더에서 실행했고 오타도 없는데 원인이 뭘까요...
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
multi line 관련 설명 내용 문의
3분 20초 쯤에 설명하시는 내용중 변수에 multi line 할당시 마지막 줄의 백 슬래쉬를 제거하지 않으면 다음과 같이 에러가 발생합니다. 강의 자막에 따로 수정된 내용은 없어보여서 공유드립니다.
-
미해결자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌
redirect시
redirect시 메인으로 돌려놓을 뿐인데 url이 굉장히 길어지는 이유를 아시는분 계신가요??
-
미해결자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!
왼쪽에 팩키지 익스플로러 뜨는 창이 안떠요
왼쪽에 팩키지 익스플로러 뜨는 창이 안떠요그외에는 잘 됩니다
-
미해결실습 UI 개발로 배워보는 순수 javascript 와 VueJS 개발
세미콜론을 안붙히시는 이유가 따로 있으신가요?
세미콜론을 안붙히시는 이유가 따로 있으신가요?
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
ManyToMany 관계 동작이 조금 어렵네요..
강의를 들으면서 토이 프로젝트를 진행중에 있습니다! 사용자(Account)가 평소 여러 주제의 태그(Tag) 중 관심 있었던 주제의 태그를 프로필에 등록하는 기능을 구현 중에 있으며, Account 라는 엔티티와 Tag라는 엔티티가 AccountTag 라는 엔티티로 각각 1:N 매핑된 형태로 N:M 관계를 표현했습니다. 태그 생성 기능은 Gist과 같이 작성했는데, 사용자에서 특정 관심 태그를 삭제하는 remove 동작을 어떻게 구현해야 할 지 감이 잘 오지 않습니다.. 정리하자면 Tag는 그대로 보존하되, 연관된 AccountTag만을 삭제하고 싶습니다. 마음 같아선 영속성 전이를 통해 delete 동작 없이 List에서 remove만 해서 처리하고 싶은데 AccountTag 엔티티와 연관된 객체가 2개 이상이니 Cascade.ALL을 사용하기도 좀 그래서 이런 경우엔 보통 어떻게 처리를 하는지 궁금합니다!
-
미해결파이썬 무료 강의 (활용편1) - 추억의 오락실 게임 만들기 (3시간)
캐릭터 키보드 이벤트 관련
태그 세팅을 다 했는데 오른쪽 이동은 정상적으로 되는데 왼쪽 이동식 한번만 눌러도 x좌표가 0으로 바로 이동합니다 ㅠㅠ
-
미해결스프링 웹 MVC
WebMvcConfigurer 1부 Formatter - localhost:8080/hello?name=keesun
package me.whiteship.web_mvc_onfigurer;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class SampleController { @GetMapping("/hello") public String hello(@RequestParam("name") Person person) { return "hello " + person.getName(); }} package me.whiteship.web_mvc_onfigurer;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;import org.springframework.test.context.junit4.SpringRunner;import org.springframework.test.web.servlet.MockMvc;import static org.junit.Assert.*;import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;@RunWith(SpringRunner.class)@WebMvcTestpublic class SampleControllerTest { @Autowired MockMvc mockMvc; @Test public void hello() throws Exception { this.mockMvc.perform(get("/hello") .param("name", "keesun")) .andDo(print()) .andExpect(content().string("hello keesun")); }} package me.whiteship.web_mvc_onfigurer;import org.springframework.context.annotation.Configuration;import org.springframework.format.FormatterRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configurationpublic class WebConfig implements WebMvcConfigurer {} package me.whiteship.web_mvc_onfigurer;public class Person { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; }} package me.whiteship.web_mvc_onfigurer;import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;import org.springframework.test.context.junit4.SpringRunner;import org.springframework.test.web.servlet.MockMvc;import static org.junit.Assert.*;import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;@RunWith(SpringRunner.class)@WebMvcTestpublic class SampleControllerTest { @Autowired MockMvc mockMvc; @Test public void hello() throws Exception { this.mockMvc.perform(get("/hello") .param("name", "keesun")) .andDo(print()) .andExpect(content().string("hello keesun")); }} junit 4로 테스트 결과 아래와 같이 에러가 발생합니다. Resolved Exception: Type = org.springframework.web.method.annotation.MethodArgumentConversionNotSupportedException MockHttpServletRequest: HTTP Method = GET Request URI = /hello Parameters = {name=[keesun]} Headers = [] Body = <no character encoding set> Session Attrs = {} Handler: Type = me.whiteship.web_mvc_onfigurer.SampleController Method = me.whiteship.web_mvc_onfigurer.SampleController#hello(Person) Async: Async started = false Async result = null Resolved Exception: Type = org.springframework.web.method.annotation.MethodArgumentConversionNotSupportedException ModelAndView: View name = null View = null Model = null FlashMap: Attributes = null MockHttpServletResponse: Status = 500 Error message = null Headers = [] Content type = null Body = Forwarded URL = null Redirected URL = null Cookies = [] MockHttpServletRequest: HTTP Method = GET Request URI = /hello Parameters = {name=[keesun]} Headers = [] Body = <no character encoding set> Session Attrs = {} Handler: Type = me.whiteship.web_mvc_onfigurer.SampleController Method = me.whiteship.web_mvc_onfigurer.SampleController#hello(Person) Async: Async started = false Async result = null Resolved Exception: Type = org.springframework.web.method.annotation.MethodArgumentConversionNotSupportedException ModelAndView: View name = null View = null Model = null FlashMap: Attributes = null MockHttpServletResponse: Status = 500 Error message = null Headers = [] Content type = null Body = Forwarded URL = null Redirected URL = null Cookies = [] java.lang.AssertionError: Response content Expected :hello keesun Actual : <Click to see difference> 소스 확인 좀 부탁드려도 될까요?
-
미해결우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)
ANACONDA 써서 그냥 진행하고 환경설정 다 skip해도 되죠?
선생님 옛날에 유튜브 다운로드하는 강의 들었던 학생인데, 가상환경을 다른방식으로 만드시던데 그냥 아나콘다 그대로 사용해도 되는것이죠?
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
해커랭크 Group by 예제 oracle 질문이요!!
강의 잘듣고있습니다. 너무 유익해요 ㅠㅠ 다름이 아니라 oracle에서는 alias가 서브쿼리없이는 조건절에 사용할 수 없는것 같은데 그러면 아래 코드처럼 SELECT A.* FROM ( SELECT SALARY * MONTHS AS EARNINGS ,COUNT(*) FROM EMPLOYEE GROUP BY SALARY * MONTHS ORDER BY SALARY * MONTHS DESC ) A WHERE ROWNUM = 1 salary * months 를 반복해서 3번이나 적어줘야 되더라고요 너무 비효율적인거같아서 서브쿼리?안에서 alias만들어서 alias를 바깥에서 사용하는 방법을 찾아봤는데 정렬도 꼬이고 값이 이상해져서 사용방법을 잘 모르겠어요.. 오라클도 mysql처럼 alias를 조건절에 사용할 수 있는 방법이 있을까요?
-
해결됨파이썬 무료 강의 (활용편1) - 추억의 오락실 게임 만들기 (3시간)
파일경로에 iamges가 2번 중첩됩니다
다시 살펴봐도 똑같이 적었는데 오류가 뜨네요. 그냥 일단 저번에 배운 절대값 넣는걸로 진행중인데 파일경로가 왜 저렇게 되는지 모르겠어요
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
도와주세요
제가 relp.it에서 계산기 만들려고 모듈을 만들었는데 import하려니까 에러가 나네요 제가 모듈에서 정의한 것들이 프로그램에서 찾을 수 없는거라고 어떻게 해야하나요??
-
미해결홍정모의 따라하며 배우는 C++
간단한 질문 하나 드립니다..^^
교수님 안녕하세요^^ 제가 c++을 늦게 공부하는 기계공학생이라 사소한게 잘 이해 안되는 부분이 있네요..^^ cout 이 std 네임 스페이스 안에 있는 함수 잖아요.(출력함수) 근데 왜 그냥 setprecision()만하면 효과가 없고 cout << setprecidion() 해야만 효과가 있나요? cout을 그냥 단순 출력 함수로 이해하면 안되나요?
-
해결됨파이썬 무료 강의 (활용편1) - 추억의 오락실 게임 만들기 (3시간)
내려오는 똥을 여러개로 하고싶습니다
내려오는 똥의 개수를 1개가 아닌 2~3개로 난이도를 올려서 제작해보고싶습니다. 어떤 코드를 추가해야하나요?
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
Heroku 부분 질문
기초강의 9번을 보면서 따라하는데 Heroku부분은 어떻게 해야되는지 궁금하네요 갑자기 Heroku라는게 나와서 일단 따라서 했는데 계속 에러가 나네요....
-
해결됨애플 웹사이트 인터랙션 클론!
스크롤 애니메이션 구현 3강에서 문제 발생요
잘 따라하다가 스크롤 애니메이션 3 강 12분 근처에서 주석처리 하고 main.css 에서 opcity 0 입력 이후 갑자기 에러 메세지 뜨면서 안되는데 이유를 모르겠습니다.http://tioletter.com/cellcardi/ 코칭 부탁 드립니다.