일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- gpt
- 회귀
- 해커톤
- LG
- PCA
- AI
- deep learning
- 티스토리챌린지
- LG Aimers
- Machine Learning
- 오블완
- LG Aimers 4th
- 분류
- regression
- LLM
- Classification
- supervised learning
- 지도학습
- 머신러닝
- 딥러닝
- OpenAI
- GPT-4
- ChatGPT
- Today
- Total
목록분류 전체보기 (355)
SYDev
기초 클래스의 포인터로 객체를 참조하는 경우 우선 글을 시작하기 전에 핵심부터 말하고 시작하겠다. "C++ 컴파일러는 포인터 연산의 가능성 여부를 판단할 때, 포인터의 의 자료형을 기준으로 판단하지, 실제 가리키는 객체의 자료형을 기준으로 판단하지 않는다." 예를 들어서 BaseFunc 이라는 함수를 멤버로 가진 Base라는 기초 클래스와 DerivedFunc 이라는 함수를 가진 Derived라는 유도 클래스가 있다고 가정해보자. 그렇다면 다음 문장은 컴파일 에러를 일으킨다. Base * bptr = new Derived(); bptr -> DerivedFunc();//compile error 포인터 객체를 정의하고 연산의 가능성 여부를 판단할 때, 포인터의 자료형을 기준으로 판단한다.결론적으로 포인터 ..
객체 포인터 변수 : 객체의 주소 값을 저장하는 포인터 변수 C++에서, AAA형 포인터 변수는 AAA객체 or AAA를 직접 혹은 간접적으로 상속하는 모든 객체를 가리킬 수 있다(객체의 주소 값을 저장할 수 있다.) 다시 말해서 Person이라는 기초 클래스와 Student라는 유도 클래스, 추가적으로 Student를 상속하는 PartTimeStudent 클래스가 있다고 가정했을 때, 다음과 같은 문장들이 가능해진다. Person * ptr = new Student(); Person * ptr = new PartTimeStudent(); // 간접 상속의 경우에도 가능 Student * ptr = new PartTimeStudent(); 이와 관련된 다음 예제를 살펴보자. #include using n..

인공 지능과 머신 러닝, 딥러닝 인공 지능 인공지능 : 보통의 사람이 수행하는 지능적인 작업을 자동화한 것. AI는 머신러닝과 딥러닝을 포괄하는 종합적인 분야. 인공 지능(AI) > 머신 러닝 > 딥러닝 머신 러닝 전통적인 프로그래밍(심볼릭 AI) : 규칙 + 데이터 -> 해답 머신 러닝 : 데이터 + 해답 = 규칙, 입력 데이터를 기반으로 기대 출력에 가깝에 만드는 유용한 표현을 학습 머신 러닝은 명시적으로 프로그램되는 것이 아니라 훈련(training)된다. 샘플과 기댓값이 주어졌을 때 데이터 처리 작업을 위한 실행 규칙을 찾는다. 이런 머신 러닝에는 다음과 같은 세 가지 조건이 필요하다. 입력 데이터 포인트 : 주어진 문제가 음성 인식이라면 데이터 포인트는 사람의 대화가 녹음된 사운드 파일, 이미지..

상속으로 클래스의 관계를 구성하기 위해서는 조건이 필요하다. 조건과 그에 따른 필요조건이 충족되지 않는다면, 상속은 하지 않는 것만 못하다. 상속을 위한 기본 조건인 IS-A 관계의 성립 IS-A 관계가 의미하는 것은 간단하다. 컴퓨터와 노트북 컴퓨터를 생각해보자. 노트북 컴퓨터는 컴퓨터의 특징을 모두 가지고 거기에 자신만의 "이동성"이라는 특징이 추가된다. 그렇기 때문에 노트북 컴퓨터는 일종의 컴퓨터라고 할 수 있다. 이를 바꿔서 말하면 "노트북 컴퓨터 is a 컴퓨터"라고 표현할 수 있는데, 여기서 사용되는 is a 라는 두 단어가 성립되는 관계가 IS-A관계이다. 이를 클래스의 개념에서 다시 살펴보자. 클래스 Computer와 이를 상속하는 NotebookComp가 있다면 둘은 IS-A 관계가 성립..
앞서 public과 private 선언에 대해 설명할 때 protected 선언은 상속과 관련있기 때문에 설명을 미뤘었다. 그렇다면 상속을 배웠으니 이제 protected 선언에 대해 공부해보자. protected로 선언된 멤버가 허용하는 접근의 범위 C++의 접근제어 지시자에는 private, protected, public 이렇게 세가지가 존재한다. 여기서 private이 허용하는 접근의 범위가 가장 좁고, public이 허용하는 범위가 가장 넓으며 protected는 그 중간의 범위에 해당한다. protected는 private과 거의 모든 부분에서 유사하지만, 단 한 가지 차이점이 있다. 바로 private 선언된 멤버변수는 유도 클래스에서 접근이 불가능하지만, protected 선언된 멤버변수는..
상속이란? "UnivdStudent 클래스가 Person 클래스를 상속한다." 라고 한다면 UnivStudent 클래스는 Person 클래스가 지니고 있는 모든 멤버를 물려받는다. 즉, UnivStudent 객체에는 UnivStudent 클래스에 선언된 멤버 뿐만 아니라 Person 클래스에 선언된 멤버도 존재하게 된다. 상속의 방법과 그 결과 예제를 통해서 상속의 방법과 결과를 확인해보자. 우슨 다음과 같이 Person 클래스를 정의하겠다. class Person { private: int age; //나이 char name[50]; //이름 public: Person(int myage, char * myname) : age(myage) { strcpy(name, myname); } void WhatY..
문제의 제시를 위한 시나리오의 도입 상속을 제대로 다루기 위해서 상속을 통해 해결할 문제부터 살펴보자. 다음 예제는 OrangeMedia라는 회사가 운영하는 '급여관리 시스템'이라는 가정이다. 회사가 이 시스템을 처음 도입할 때만 해도 직원의 근무형태는 '정규직(Permanent)' 하나였다. 따라서 이 시스템은 정규직 직원 관리를 위한 형태로 설계되었다. 그럼 일단 정규직 직원의 관리를 목적으로 정의된 클래스를 먼저 하나 보도록 하자. class PermanentWorker { private: char name[100]; int salary; // 매달 지불해야 하는 급여액 public: PermanentWorker(char * name, int money) : salary(money) { strcpy..
C언어에서의 static 전역변수에 선언된 static -> 선언된 파일 내에서만 참조를 허용 함수 내에 선언된 static -> 한 번만 초기화되고, 지역변수와 달리 함수를 빠져나가도 소멸 x 이 중에서 함수 내에 선언된 static과 관련된 예제를 살펴보자. #include using namespace std; void Counter() { static int cnt; // static 변수는 전역변수와 마찬가지로 초기화하지 않을 시에 0으로 초기화된다. cnt++; cout