본문 바로가기

전체 글258

다형성 다형성이란 다형성(Polymorphism = Poly + morph) = 겉은 똑같은데, 기능이 다르게 동작한다. 하나의 함수(겉이 똑같은)가 여러 클래스의 멤버함수(다른동작들)를 구동시킨다. ======================================================================== 결론부터 말하자면 //다형성(Polymorphism = Poly + morph) = 겉은 똑같은데, 기능이 다르게 동작한다. 다형성 방법 // 1. 오버로딩 (Overloading) = 함수 중복 정의 = 함수 이름의 재사용 // 인자로 구현 // 2. 오버라이딩 (Overrading)= 재정의 = "부모클래스의 함수"를 "자식클래스"에서 재정의 // 바인딩(virtual)기능 필요 /.. 2022. 1. 27.
OOP의 4대 원리 (원칙 특성 특징) OOP의 4대 원리 (원칙 특성 특징) 1. 캡슐화 (Encapsulation) ( == 클래스 내에서의 추상화 , 추상화랑 겹치는 내용이 많음.) 54강 무엇 - 데이터(멤버변수)와 기능(멤버 메서드)를 하나의 단위로 묶어놓음 - 데이터를 보이지 않게 가리고, 데이터에 접근하기 위한 메서드만을 노출(데이 터은닉) 언제 - 언제든! 많이 쓸수록 좋다. 왜 - 클래스 사용자 : 클래스 내부 구조를 이해할 필요가 없다. 데이터를 실수로 잘못 바꾸는 것을 방지 메서드 사용법만 알면 사용가능 - 예 : 자동차운전할줄만알면 어떻게 - 클래스 안에 멤버변수, 멤버 메서드 선언/ 접근제어 2. 상속성 (Inheritnace) 75~84강 무엇 - 부모 클래스의 멤버를 재사용해서 자식 클래스에서도 사용 할 수 있음. .. 2022. 1. 27.
상속성 1. 개론 상속이 나온 이유 : class Knight 와 class Mage 를 보면 멤버변수가 공통될 경우 구조체문법으로 묶어주면 좋다. 그러나 멤버함수까지는 구조체문법으로 묶을 수가 없기 때문에 "상속"개념이 착안됬다. 라고 생각해주면 됨. 그래서 보면 구조체 처럼 부모Class를 선언해서 공통된 멤버변수 + 멤버함수를 선언한 후, 부모Class를 각각의 자식class_1 과 자식class_2 에서 "상속"해서 그대로 사용 하거나 재정의 해서 사용한다. 부모Class = 자식Class O --> 개념적으로도 맞고, 포괄한다. 자식Class = 부모Class X --> size가 자식 Class 쪽이 크거나 같으므로 - 이유 - - 개념적으로) 모든 Knight는 User다 O ( User = Kni.. 2022. 1. 27.
포인터 형변환 int 는 4byte -> numPtr char 는 1byte -> cPtr 0x12 34 56 78 를 (char *) 포인터형변환을 했으니까 4byte -> 1byte 로 줄어듬 1 2 3 4 ( 리틀엔디안이므로 뒤에서부터 짤라서 대입 ) 그림설명 예시 ) 반대로 short 는 2byte int 는 4byte 0x1234 외에 쓰레기값으로 0x@@@@1234 가 추가된거 더보기 참조 https://www.youtube.com/watch?v=QqhJy7kk7SI&t=77s https://dojang.io/mod/page/view.php?id=494 C 언어 코딩 도장: 58.2 포인터 변환하기 이번에는 포인터끼리 변환하는 방법입니다. 이때는 자료형 뒤에 포인터를 나타내는 *(애스터리스크)를 붙여주고 괄.. 2022. 1. 24.
ros_Arm 구현 로봇 arm 기능 구현 프로젝트명 로봇 arm 제어 , 개인프로젝트 프로젝트 소개 및 구성 터미널창을 이용해 로봇ARM 제어 물류자동화시스템을 구현하기 위해서 핵심기능들을 구현하려고 로봇arm을 빌려 개인적으로 프로젝트를 진행했고, 로봇arm에서 가장 중점이 되는 기능들을 먼저 구현했습니다. Arm과 컴퓨터 통신 방식은 _serial 통신(usb)을 이용 했고, 각 노드 별 통신은 ROS의 message토픽을 이용했습니다. 나중에 물류자동화 시스템을 구성하는 프로젝트를 할 때 유동적으로 사용 할 수 있게 각 노드별로 섹터를 나누어 동작하게 했습니다. 노드 구성도 . ( rqt_graph ) o : node , ㅁ : topic 1. pose_node : 사용자에게 data(좌표,그리퍼동작)를 받아 동작노.. 2022. 1. 23.
mds2450보드를 이용한 그래프게임 (임베디드) 프로젝트명 그래프게임 프로젝트 소개 한컴MDS교육장에서 수업을 들으면서 MDS2450이라는 보드를 받고, 보드를 이용한 프로젝트를 했습니다. 저희가 만든 게임은 그래프 게임으로, 실제로 일반인에게도 많이 노출이 되기도 했고 뉴스에도 나올정도로 사회적으로 문제가 되었던 불법게임 입니다. 그래서 이 게임의 중독성과 위험성을 알려주기 위해 만들었습니다. 구현목표는 실제 있는 그래프게임을 마킹해서 최대한 같은 UI와 기능을 만드는 것입니다. 사용방법 UI 는 처음 main 화면이 뜨고 게임에 대한 간략한 기능에 대한 설명과 음악이 나옵니다. 그다음엔 금액을 정해서 배팅할 수 있고, 정해진 시간안에 배팅하지 않을 시엔 배팅금액 '0'원으로 자동시작 합니다. 터치시엔 효과음이 발생합니다. 게임이 시작하면 그래프가 .. 2022. 1. 23.