분류 전체보기(145)
-
[CS 지식] 객체 지향 프로그래밍(OOP) 개념 및 예제
객체 지향 프로그래밍(OOP) object-oriented programming 이번 포스팅에선 객체 지향 프로그래밍에 대해 알아보겠습니다. 개념과 함께 예제를 살펴볼 것이며, 언어는 python으로 진행하겠습니다. 📌 정의 먼제 객체에 대한 정의부터 내리겠습니다. 객체란? 쉽게 말해 하나의 존재입니다. 물리적으로 존재하든, 추상적으로 생각할 수 있든 자신의 속성을 가지고 다른 존재와 식별이 가능하면 객체라고 할 수 있습니다. 프로그래밍으로 따지면 변수도 객체가 될 수 있고, 함수도 객체가 될 수 있습니다. 또는 변수와 함수를 묶은 것도 객체가 될 수 있습니다. 가능한 모든 것들이 하나의 존재로 묶이기만 한다면 객체가 될 수 있습니다. 파이썬으로 예를 들면, 다음 것들이 모두 객체입니다. # 1 obje..
2022.06.26 -
[선형대수학] 행렬의 영공간 계산하기(Calculationg the null space)
행렬의 영공간이란? 행렬 A와 곱하여 영벡터를 만드는 모든 벡터 x의 집합입니다. 자세한 개념이 생각 안 나신다면 저번 포스팅을 보며 복습해주세요. https://mengu.tistory.com/82?category=937657 [선형대수학] 행렬의 영공간 (Null space of a matrix) 행렬의 영공간에 대해 알아보는 포스팅입니다. 행렬은 어느정도 이해가지만, 영공간은 대체 무슨 말인지 모르겠습니다. 영공간을 이해하기 위해선 먼저 부분 공간에 대한 복습이 이뤄져야 합니 mengu.tistory.com 이번 포스팅에선 행렬의 영공간을 직접 구해보겠습니다. 📌 영공간 정의 복습 행렬 A가 있습니다. 3행 4 열이며, 벡터 x와 곱해지면 0 벡터가 된다는 것이 밑의 그림입니다. 위의 그림을 하나의..
2022.06.25 -
[C++] 인라인(inline)함수 와 매크로(define)함수
이번 포스팅에선 인라인 함수와 매크로 함수에 대해 알아보도록 하겠습니다. 인라인 함수: 모든 코드를 호출된 자리에서 바로 삽입해서 연산을 진행합니다. 매크로 함수: #define 선행처리 지시문에 함수를 정의하여 동작합니다. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 인라인 함수 인라인 함수가 필요한 이유가 뭘까요? 그 이유는 함수 호출 과정에 있습니다. 본래 함수 호출은 다음과 같은 과정을 거칩니다. (1) 함수 호출 (2) 스택에 매개변수+반환 주소값 저장 (3) 프로그램 제어가 함수 위치로 날아와 지역 변수 저장 (4) 코드 ..
2022.06.24 -
[C++] 함수 Basic - 참조자, 디폴트 인수, 오버로딩
이번 포스팅에선 함수 참조자, 디폴트 인수, 오버로딩에 대해 알아보도록 하겠습니다. 참조자: &를 말합니다. 대상의 원본을 직접 가져오는 역할을 합니다. 디폴트 인수: 함수의 기본으로 설정된 초기 인수를 말합니다. 오버로딩: 같은 이름의 함수를 중복하여 정의하는 것을 말합니다. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 참조자(&) 참조자는 특정 변수의 실제 이름 대신 사용할 수 있습니다. 주로 크기가 큰 구조체와 같은 데이터를 함수의 인수로 전달할 때 사용합니다. (1) 참조자 선언 참조자는 타입을 식별하기 위해 사용하는 식별자 ..
2022.06.24 -
[C++] 함수 포인터 표기를 단순화하는 방법
함수 포인터를 그냥 표기하기엔 복잡했습니다. * 이전 포스팅 - 함수 Basic 좀 쉽고 간편하게 표기하는 방법은 없을까요? typedef 키워드와 auto 키워드를 활용해봅시다. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 typedef 키워드 함수 원형 선언하는 구간에서 함수 포인터를 선언하는 방식입니다. typedef 타입(*포인터 이름)(인수 타입); typedef double(*calculator)(double, double); 이렇게 될 경우, Calculator 함수 원형은 함수 포인터만 인수로 받아도 상관없습니다. ty..
2022.06.23 -
[C++] 함수 Basic - 정의, 인수 전달, 포인터
이번 포스팅에선 함수에 대해 알아보도록 하겠습니다. 함수 : 하나의 목적으로 수행하고, 하나의 결괏값을 내놓는 기능을 합니다. int형끼리 더하고 싶을 때, 문자열을 특정 방법으로 편집할 때 등 특정 목적을 위해 함수를 정의해서 사용합니다. 개발 환경 : VSCode, Windows 10 기본 개발 세팅은 다음과 같습니다. #include #include #include using namespace std; int main() { return 0; } 📌 함수의 정의 및 선언 먼저 간단한 함수를 구현한 코드입니다. #include #include #include using namespace std; int Substract(int, int); int main() { int result; result = ..
2022.06.23