본문 바로가기

전체 글58

[C++] 상속 상속이란? - 상속은 부모에게 무엇인가를 물려받는 것을 의미한다. - 부모가 되는 클래스를 기본 클래스라 하고 자식 클래스에 해당되는 클래스를 파생 클래스라고 한다. - 자식 클래스는 부모 클래스의 데이터 필드와 함수 모두를 상속받으며, 자신만의 데이터 필드나 함수를 추가할 수 있다. - 상속을 이용하여 공통적 기능은 기본 클래스로 정의하고, 나중에 좀 더 특별한 클래스로 확장이 가능하다. 보호(protected) 키워드 파생 클래스에서 기본 클래스의 데이터 필드나 함수에 접근하도록 허용하려면 protected 키워드를 사용한다. protected 멤버는 정의된 클래스 내부와 파생 클래스에서만 접근이 가능하다. (+public 멤버는 다른 클래스나 클라이언트 프로그램에서 접근 가능하며, private 멤.. 2021. 6. 6.
[C++] 연산자 오버로딩 연산자 오버로딩이란? 정수형, 실수형, 문자형 등의 기본 자료형에 +, -, *, /, 2021. 6. 6.
[자료구조/C] 이진 탐색 트리 이진 탐색 트리 -삽입삭제탐색을 효율적으로 하기 위해 고안된 이진 트리 ->조건 -모든 원소의 키는 유일한 키를 가진다. -왼쪽 서브 트리 키들은 루트 키보다 작다. -오른쪽 서브트리의 키들은 루트의 키보다 크다. -왼쪽과 오른쪽 서브 트리도 이진 탐색 트리이다. 이진 탐색 트리 구현 및 테스트 // 8.11 이진 탐색 트리 // 설명:삽입삭제탐색으로 효율적으로 하기 위해 고안된 이진 트리 // 조건:-모든 원소의 키는 유일한 키를 가진다. //-왼쪽 서브 트리 키들은 루트 키보다 작다. //-오른쪽 서브트리의 키들은 루트의 키보다 크다. //-왼쪽과 오른쪽 서브 트리도 이진 탐색 트리이다. #define 이진탐색트리 #ifdef 이진탐색트리 #include #include typedef int elem.. 2021. 6. 5.
[Linux]리눅스 자주 쓰는 명령어 정리 mv a b a를 b로 변경 mkdir 디렉토리 만들기 mkdir -p 경로 하면 그 경로에 디렉토리가 주루룩 만들어짐 rmdir 디렉토리를 삭제하기 위해선 디렉터리는 비어있어야한다. 비어있지 않을 경우에는 rm -rf 명령을 사용 cp a b a를 b로 복사 touch 파일 크기가 0인 파일 생성 (이미 있는 파일을 touch 명령으로 옵션없이 사용하면 파일의 수정 시간이 현재시간으로 바뀐다. -t 옵션을 사용하면 지정시간으로 바꾸는 일도 가능!) .은 현재 디렉토리를 말하며, ..는 부모 디렉토리를 말한다 pwd 현재 위치 확인 cd 경로 경로이동(절대 경로와 상대 경로 모두 가능) +목적지를 지정하지 않고 그냥 cd 명령만 시행하면 해당 계정의 홈 디렉토리로 이동한다 ls 디렉토리내용출력 (-a는 .. 2021. 5. 8.
[Linux]커널 컴파일 하는 방법 백업(2021.5.8 기준으로 5.12.2) 1. www.kernel.org 에 접속하여 최신버전 다운 2. /Downloads에 있는 압축 파일을 /usr/src로 옮긴다. 3. xz로 압축되어있으므로 tar xfJ를 사용하여 압축을 풀어주도록 하자. 4. 압축 푼 뒤에는 linux-5.12.2로 이동하여 필요한 파일을 전부 다운받는다. 중요한 것은 반드시 /usr/src/linux-5.12.2에 cd로 이동한 뒤에 다운받아야한다는 것! (아래에도 보이겠지만, 지금 전부 설명해놓겠다. 커널 컴파일 도중 오류가 생기는 것을 막기 위해 다운받아야할 파일은 gcc-c++ qt-devel bison flex elfutils-libelf-devel openssl-devel openssl dwarves zstd qt-doc qt-creator) 5. mak.. 2021. 5. 8.
[C++] 객체와 클래스에 대한 이야기 정리 구조체 -클래스는 c와 c++ 언어를 구분짓는 가장 큰 특징이다 -클래스는 구조체의 확장으로 이해할 수 있다. -구조체는 다양한 형태의 자료집합을 이용해 정의할 수 있다. #include struct Monster { double hp; double mp; char level; }; int main() { Monster mob1; //구조체 변수 선언 //구조체의 멤버변수에 접근하기 위해서는 . 연산자를 사용한다 mob1 = { 67.5,34.2,'c' }; //초기화 Monster mob2 = mob1; //복사 mob1.level = 'b';//멤버변수에 접근하여 변경 return 0; } 클래스 -클래스란 기본적으로 멤버 데이터뿐만 아니라 멤버 함수를 가지는 하나의 구조체이다. -클래스는 객체지향 .. 2021. 4. 18.
[부스트코스]코틀린 프로그래밍 기본 1 수강 후기 부스트코스 서포터즈 3기 활동으로서 코틀린 프로그래밍 기본 1/2(함수편)을 듣고 작성된 포스팅입니다 부스트코스의 코틀린 프로그래밍이란? 부스트코스란 플랫폼에서 구글에서 지정한 안드로이드 공식 언어 코틀린을 학습하는 과정으로, 코딩에 대한 어느 정도의 지식이 있는 사람, JAVA와는 새로운 패러다임 언어를 찾는 사람, 함수형 프로그래밍에 관심이 있는 사람 모두가 학습하기 좋다. 부스트코스의 코틀린 프로그래밍 수강 방법 부스트코스는 직업에 필요한 역량을 향상시킬수 있는 온라인 교육 프로그램입니다. 수강생은 부스트코스 학습컨텐츠를 이용해 현장에서 필요한 기초 지식을 학습한 후 실무와 유사한 프로젝트를 수행해볼 수 있습니다. 수행한 프로젝트는 평가 기준표를 기반으로 자가 평가가 가능하며 원하는 경우, 프로젝트.. 2021. 2. 9.
[부스트코스][Kotlin]표준함수 활용(3) - 람다식 검사, 시간측정, 난수생성 함수 부스트코스 서포터즈 3기 활동으로서 코틀린 프로그래밍 기본 1/2(함수편)을 듣고 작성된 포스팅입니다 표준함수 활용(3) 1) 람다식 검사 - takeIf()과 takeUnless() // takeIf()과 takeUnless() 표준 함수의 정의 public inline fun T.takeIf(predicate: (T) -> Boolean): T? = if (predicate(this)) this else null public inline fun T.takeUnless(predicate: (T) -> Boolean): T? = if (!predicate(this)) this else null takeIf() : 람다식이 true이면 객체 T를 반환하고 그렇지 않은 경우 null 반환 takeUnless.. 2021. 1. 29.
[부스트코스][Kotlin]표준함수 활용(2) - apply(), run(),with(), use() 부스트코스 서포터즈 3기 활동으로서 코틀린 프로그래밍 기본 1/2(함수편)을 듣고 작성된 포스팅입니다 표준함수 활용(2) 1) apply() // 표준 함수의 정의 public inline fun T.apply(block: T.() -> Unit): T { block(); return this } apply()는 also()함수와 마찬가지로 호출하는 객체 T를 이어지는 block으로 전달하고 객체 자체인 this를 반환, also와 거의 비슷하지만, also는 람다식이 확장함수로서 처리된다. 그리고 also는 it으로 받고 생략될 수 없지만 apply는 생략될 수 있다. fun main() { data class Person(var name:String, var age:Int) var profile=Pe.. 2021. 1. 29.