인터페이스 클래스에서 마지막 부분이 이해가 잘 가지 않습니다. #include<iostream> #include<string> using namespace std; class IErrorLog { public: virtual bool reportError(const char* errorMessage) = 0; virtual ~IErrorLog() {}; }; class FileErrorLog : public IErrorLog { public: bool reportError(const char* errorMessage) override { cout << "Writing error to a file" << endl; return true; } }; class ConsoleErrorLog : public IErrorLog { public: bool reportError(const char* errorMessage) override { cout << "Priting error to a console" << endl; return true; } }; void doSomething(IErrorLog& log) { log.reportError("Runtime error!!"); } int main() { FileErrorLog file_log; ConsoleErrorLog console_log; file_log.reportError("ㅇㅇㄹ"); console_log.reportError("dfdf"); doSomething(file_log); doSomething(console_log); return 0; } file_log.reportError("ㅇㅇㄹ"); console_log.reportError("dfdf"); 과 doSomething(file_log); doSomething(console_log); 은 같은 기능을 할 수 있지 않습니까? 왜 doSomething 함수를 다시 정의하는것이 더 재활용성 있고 편한건가요? 함수 하나 더 정의했으니 코드량이 늘어난 것 아닌가요?
models/user.js models/post.js models/index.js 터미널 에러 제대로 따라한 거 같은데 로그인 버튼 클릭시에 로딩만 돌아가고 Post is not associated to User! 라는 에러문구가 발생합니다. 어떤 부분에서 에러가 났는지 찾을수 없어서 문의드립니다. 감사합니다.
Member 와 Team table로 연관 관계 매핑 듣다가 질문이 생겨 질문 드립니다. 예제는 Member table에 Team table을 바라 볼수 있는 외래키로 team_id (fk) 컬럼에 FK 가 걸려 있습니다. 예제와 동일한 구조로 TABLE이 되어 있고 FK 만 설정이 되어 있지 않아도 연관 관계 매핑이 가능 한가요? 아니면 연관관계 매핑을 하려면 꼭 TABLE에 FK 설정이 되어 있어야 하는 건가요?
추상화는 규격을 만들고 상속받은 클래스에서 반드시 만들게 강제하는 것으로 이해를 하였습니다. 다만 그다음 인터페이스에서 추상화와 인터페이스의 다른점을 모르겠습니다. 그냥 추상화 쓰면될거같은데 인터페이스를 왜사용하는지에 대한 의문이 남아서 질문드립니다. 마지막에 설명해주신 static void PrintFigure(IFigurable obj) { Console.WriteLine($"{obj.GetType().FullName} 면적 : {obj.Area()}"); } 를 보고 아 인터페이스는 따로 안만들고 다 쓸 수있는건가? 했는데 혹시나해서 static void Abstract_Test(Figure obj) { Console.WriteLine($"{obj.GetType().FullName} 면적 : {obj.Area()}"); } 인터페이스가 아닌 추상클래스를 사용해도 똑같이 동작하는 것을 보고 도대체 추상화를 안쓰고 인터페이스를 왜쓰는지 궁금해서 질문남겼습니다.!!
MQTT 사물인터넷 통신 프로젝트 (Arduino, MQTT, Node.js, mongoDB, Android)
강의와 관련있는 질문 을 남겨주세요. • 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등) • 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색 을 해주세요. (중복 질문을 자제해주세요.) • 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’ 를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달 에도 요령이 필요합니다. • 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요. • 강의실 페이지 (/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다. • 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재 해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드 를 남겨주세요! 구체적인 질문 일수록 명확한 답을 받을 수 있어요. • 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요. • 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요 . • 정확한 질문 내용과 함께 코드 를 적어주시거나, 캡쳐 이미지 를 첨부하면 더욱 좋습니다. 기본적인 예의 를 지켜주세요. • 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용 은 스팸 처리 등 제재를 가할 수 있습니다. 궁금합니다!
수업을 듣다 다형성이 무엇인지 한 줄로 표현하면 무엇인가에 대한 궁금증이 생겼습니다. 구글을 찾아보면서 나름 한 줄로 줄인 결과는 다음과 같습니다 다형성은 무엇인가? 1. 같은 모양의 코드가 다른 행위를 하는 것을 나타내는 용어 C++에서는 다형성을 어떻게 구현하고 있는가? 2. C++에서는 virtual 키워드를 통한 오버라이딩을 통해 구현한다. 구현되는 장소는 서브 클래스(자식 클래스)이다. 슈퍼클래스(부모 클래스)를 상속받는 서브 클래스(자식 클래스)에서 다형성을 구현한다. 서브 클래스는 슈퍼 클래스의 virtual 멤버 함수를 같은 이름, 같은 반환 값, 같은 인자로 자신의 클래스 안에서 함수가 새로운 기능을 가지게 게 정의한다. 이렇게 정리 해보았습니다. 맞는 정리인지 여쭤보고 싶습니다.