묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
가상함수 소멸자와 가상함수 테이블 질문
class Item { public: //... 생략 virtual void function1() { cout << "Item Function1()" << endl; }; } class Weapon : public Item { public: //...생략 void function1() { cout << "Weapon Function1()" << endl; }; } class Armor : public Item { public: //...생략 void function1() { cout << "Armor Function1()" << endl; }; } int main() { // 1번 암시적 형변환 Weapon weapon; Item* iPtr = &weapon; iPtr->function1(); // 2번 암시적 형변환 Armor armor; Item* iPtr = &Armor; iPtr->function1(); // 3번 명시적 형변환 Item item; Weapon* wPtr = (Weapon*)&item; wPtr->function1(); }1번을 수행하면 Weapon을 암시적으로 Item으로 형변환하고 해당하는 iPtr이 Weapon::function1()을 호출2번을 수행하면 Armor를 암시적으로 Item으로 형변환하고 해당하는 iPtr이 Armor::function1() 을 호출3번을 수행하면 Item을 명시적으로 Weapon으로 형변환하고 해당하는 wPtr이 Item::function1() 을 호출클래스타입을 편의상 CType, 가상함수 테이블을 가리키는 포인터를 편의상 VPtr 이라고 지칭하겠습니다.가상함수 생성시 해당하는 CType의 VPtr생성. (가상함수에 관련된 실습 시간마다 메모리 확인 시 맨 처음 주소 부분에 생성된 주소 값?)이 포인터가 가리키는 가상함수 테이블에는 CType 의 가상함수에 대한 정보가 들어가 있음.즉 CType 의 주소에는 가상함수 테이블을 가리키는 VPtr 의 정보가 내장되어 있음 => 주소의 맨 처음 값에.암시적 명시적 형변환과는 관계없이 포인터에들어간 주소값에는 가상함수 테이블을 가리키는 VPtr이 존재.그러므로 형변환이 끝난 CType에서 가상함수를 호출하더라도 VPtr 정보는 남아 있고 CType 에서 가상함수를 호출하면 원본 CType 의 가상함수를 실행하게 됨 실습 관련실습에서 Item* 배열에 있는 자식 클래스(*Weapon, *Armor) 값들이 존재한다.Item의 소멸자에 가상함수를 붙여놓으면 자식 클래스의 소멸자에도 VPtr 이 생성되고 가상함수 테이블에서 소멸자를 가상함수로서 관리한다.Item* 배열에 있는 객체들을 순회하면서 delete를 이용해 하나씩 메모리를 해제한다.이 때 *Weapon, *Armor 같은 생성된 자식 클래스 주소 값을 가리키는 포인터들이 해제된다.그리고 해당 주소값에 있는 Weapon, Armor객체들이 소멸된다.이 때 Item* 배열에 들어있기는 하지만 *Weapon 주소는 Weapon 타입 VPtr을 가지고 있으므로 Weapon 의 가상함수인 ~Weapon()을 호출한다. 형변환이 암시적, 명시적과 관계없이 포인터에 들어간 주소값이 어떤형태의 CType이냐에 따라 가상함수 function()이 호출된다고 이해하면 될까요?
-
해결됨
자바 public static void main(String[] args)문에 에러가 뜹니다.
class input { public static void main(String[] args) { char input; String type; Scanner sc = new Scanner(System.in); System.out.println("Press key y or n"); type = sc.next(); input = type.charAt(0); if(input== 'Y') { System.out.println("yes"); }else { System.out.println("no"); } } }Exception in thread "main" java.lang.Error: Unresolved compilation problem: at input.main(java.java:62)자바 시작 한지 얼마 안된 학생입니다.제가 위에 코드를 입력했는데 이런 오류가 떠요ㅠㅠ 인터넷에서 public문 고쳐보라는 대로 해도 안됩니다. 어떻게 해야하나요? 참고로 작업 환경은 비주얼 스튜디오 코드고 jdk도 다 깔려있습니다.(class input { 이 있는곳이 61번입니다.)
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
가상 메모리를 사용하는 이유
안녕하세요. 선생님. 강의 잘 보고 있습니다..!가상 메모리를 사용하는 이유 중의 하나가 프로세스 간의 독립성을 보장할 수 있다고 설명해주셨는데요. 이 부분이 잘 이해가 가지 않습니다.실제 메모리를 사용한다고 하더라도 각 프로세스마다 독립적인 메모리 주소 공간이 부여되어 독립성이 보장될 것 같은데, 어떤 점이 다르다고 볼 수 있는 걸까요?미리 감사드립니다!
-
미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
htaccess 변경해서 php 허용되는것은 막힌건가요?
테스트 해보니까 안되네요
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
주신 강의 자료에 DMS 부분이 빠진 것 같습니다.
주신 강의 자료에 DMS 부분이 빠진 것 같습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
RequestBodyStringController - requestBodyStringV3메소드 반환값 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]RequestBodyStringController - requestBodyStringV3메소드에서 반환값을 String으로 하면에러가 나는이유 + HttpEntity<>로 해야하는 이유가 궁금합니다.// 에러가 나는 코드 @PostMapping("/request-body-string-v3") public String requestBodyStringV3(HttpEntity<String> httpEntity) throws IOException { String messageBody = httpEntity.getBody(); log.info("messageBody={}", messageBody); return "ok"; // return new HttpEntity<>("ok"); }
-
미해결팀 개발을 위한 Git, GitHub 입문
깃허브 어렵게 생각하지마세용!
듣는 내내 강의가 하나도 지루하지 않았어요 완전 강추합니다!이렇게 좋은 강의 감사합니다늘 한켠에 제쳐두고 미루기만 했었는데 덕분에 한걸음 더 나아갈 수 있었습니다강사님 앞날에 무궁한 발전을 기원합니다~!앞으로도 좋은 강의 많이 부탁드려요!oksu010@gmail.com(ㅎㅎ 자료도 같이 부탁드려요!)
-
미해결지금 당장 NodeJS 백엔드 개발 [사주 만세력]
혹시 MySQL Workbench 신버젼에서도 가능하게 강의 내용 수정은 불가능할까요?
맥북 유저인데 8.0.20 버전을 실행하면 보안 이슈로 실행할 수 없다고 하네요 ㅠㅠ
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderLine, LineItem
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.교재 19페이지에 주문상품에 '보통 OrderLine, LineItem으로 많이 표현한다.' 라고 되어 있는데요, OrderItem이란 이름 대신 OrderLine 을 많이 사용한다는 뜻인가요 ?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
pow함수 int형으로 캐스팅
pow 가 double 형이라서 int 형으로 캐스팅을 하려 시도하였습니다. 근데 pow(5,4)를 그대로 프린트 찍을때는 625로 나오는데 int(pow(5,4))로 찍으면 624가 나오는 원인을 모르겠습니다.
-
미해결파이썬 코딩 기초에서 고급까지 무조건 따라하기
에스케이프 b
안녕하세요그 다음 넘어갈때마다 에스케이프 비라고 하시는데 그게 뭔가요
-
미해결벡터 미적분학 시리즈1 - 미분 기초
differentiation과 derivative의 차이
공부하다가 문득... differentiation과 derivative의 차이가 명확하지 않은 것 같아서 질문 남겨봅니다;; differentiation은 기울기(x변화에 대한 y의 변화)를 구하는 미분이고, derivative는 도함수를 구하는 거라고 하는데... x에대한 편미분(partial derivative), y에 대한 편미분(partial derivative)를 구해서 기울기(differentiation)을 구하는 것으로 이해하는 게 맞는 이해일까요??;;;
-
미해결인터랙티브 웹 개발 제대로 시작하기
new 키워드의 역할
강사님! 함수를 생성자 함수로서 실행을 하고 생성자 함수의 this에 개별 객체를 바인딩 하기 위해서 new 키워드를 쓰는것으로 이해를 했는데 제가 이해한게 맞나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
빅데이터 분석기사 실기 출제 유형 변경
빅데이터 분석기사 실기 출제 유형이 변경 되었는데 변경내용 : 기존 단답형 10문제를 작업형 신규 유형인 '작업형 제3유형'으로 대체변경시기 : 제6회 빅데이터분석기사 실기시험(2023.06.24)부터 적용강의에 업데이트 해 주시는 지 궁금합니다.
-
해결됨문법 공부 다음엔, 자바스크립트 프로젝트 101
인터넷 사용여부
방금 프로젝트 101 신청했는데요. 혹 인터넷이 연결되야 수강이 가능한가요? 브라우저와 vs코드 통신만으로는 안되는지요.api, 임시서버 이런내용이 있던데요.
-
해결됨설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
AXI Verification IP와 실제 PS 연결 후 동작 차이
안녕하세요, 맛비님. 유익한 강의 감사드립니다.Lab 13 memory read/write 실습까지 마치고, 제가 설계한 core로 테스트해보는 중 문제가 생겨 문의 드립니다.우선, register 0~3까지 사용하는 block 이며 0, 1에서 데이터를 받아 core에 넘겨주고, core가 메모리에 어떠한 데이터를 쓴 뒤, 강의처럼 2의 메모리 주소에 있는 데이터를, 3에 넣는 방식으로 설계해보았습니다.이 동작은 AXI Verification IP에서는 의도대로 동작을 하고 있습니다.그러나 이 core를 zynq에 연결하여 bitstream을 작성 후 vitis에서 똑같이 해보려했는데, 제대로 출력되지 않고, 항상 0이 출력됩니다.이렇게 두 결과값이 다를수도 있는 것인가요..?감사합니다.
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
sink로 등록된 topic의 값이 db에 반영되지 않습니다.
sink도 잘 등록되었고, orders topic에 json 값도 잘 전달되지만 전달된 값이 디비에는 반영되지 않아 데이터 삽입이 되지 않습니다. ㅠㅠ무엇이 문제일까요?
-
미해결Vue.js 시작하기 - Age of Vue.js
학생할인 코드
학생할인코드 적용하여, 다른 강의도 들으려고 했는 데,이미 초과된 분량이라고 적용이 안되어서, 그냥 정가에 샀는 데, 할인 기간이 혹시 끝난걸까요?
-
미해결설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)
BRAM 메모리 공간의 절대 주소 문의
안녕하십니까?이 강의에서 BRAM 영역의 Width와 관계없이,Addr[0], Addr[1]로 표현하셨는데,이 메모리 공간의 실제 주소(절대 주소)가 어떻게 되는지 궁금합니다.예로 0x4000 0000 에 BRAM을 할당 했을때,Addr[0] :Addr[1] :각강의 주소가 어떻게 되나요?Width : 16 or 32일 때 가정해서Width와 관계없이, 무조건 1씩 증가하는 것으로 봐야 하나요?만약 VITIS에서 접근할려고 할 때, 주소를 어떻게 해야 할지 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Book 객체가 준영속 엔티티인 이유
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]아래 코드에서 Book 객체는 개발자가 임의로 만든 객체이고 form 객체의 id값은 이미 예전에 JPA가 저장했던 id값이니까 이 id값을 받은 book 객체는 기존 식별자를 가지고 있기 때문에 준영속 엔티티로 보는것인가요?@PostMapping("/items/{itemId}/edit") public String updateItem(@ModelAttribute("form") BookForm form){ Book book = new Book(); book.setId(form.getId()); //form은 이전의 jpa가 db에 저장했으니 form의 id값을 받은 book객체는 준영속 엔티티?? book.setName(form.getName()); book.setPrice(form.getPrice()); book.setStockQuantity(form.getStockQuantity()); book.setAuthor(form.getAuthor()); book.setIsbn(form.getIsbn()); itemService.saveItem(book); return "redirect:/items"; }