: 문제를 여러개의 객체 단위로 나눠 작업하는 방식으로, 객체들이 서로 유기적으로 상호작용하는 프로그래밍 이론입니다. 프로그래밍에서의 객체는 상태와 행위를 하나로 묶은 그룹입니다. 코드 재사용이 용이 : 남이 만든 클래스를 가져와서 이용할 수 있고 상속을 통해 확장해서
정적언어, 동적언어, 정적 프로그래밍, 동적 프로그래밍....자칫 헷가릴 수 있는 개념들을 정리해보고자 한다.타입은 자료형을 뜻한다. 우리가 흔히 아는 int, short, float, bool 등이 있다.정적언어는 바로 그 Type을 컴파일 시에 결정한다. 변수에 들
파이썬에서 모든 타입은 객체다변수에 객체를 할당하면 특정 메모리 주소 공간을 할당받는다단순한 원시값으로 되어있는 inr, float나 immutable한 객체인 tuple, string등은 값의 변화를 주면 재할당이 되므로 자연스럽게 메모리 주소가 변경이 된다.muta
스택은 대표적인 FIFO(Fisrt In Last Out) 자료구조로, 한쪽 끝에서만 원소를 넣거나 뺄 수 있다.원소 추가/제거 O(1)제일 상단의 원소 확인 O(1)제일 상단이 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능하다stack STL을 사용하기 위해서는
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42578전형적인 해시 문제다.뭔가 문자로 된 분류값 안에 항목들을 넣어야할때는 해시로 풀어주고 있다.예를 들면 과일 : 사과, 포도, 딸기
2019년 2학기, 안드로이드 앱 개발을 진행했었다. 그때 개발하며 배웠던 안드로이드 그리고 사용했던 언어인 Kotlin에 대해 다시 한번 차근차근 정리해보는 시간을 가지려고 한다. 일단, 안드로이드 스튜디오에서 프로젝트를 생성하면, 이렇게 MainActivity가
알고리즘 문제들을 풀면서 최소값 및 최대값을 구할때 충분히 큰 수를 넣거나 양, 음의 무한대를 사용해야하는 순간들이 있다.무한수는 float형에만 적용가능해서, int 형은 불가능.
\*데이터셋(ds_list) 크기에 따른 Static 동적 변경this.ds_list_onload = function(obj : Dataset, e:nexacro.DSLoadEventInfo){ this.div_list.Static01.set_text(obj.rowc
https://school.programmers.co.kr/learn/courses/30/lessons/118667길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출(pop)하고, 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해
크로스 조인은 두 테이블의 모든 데이터를 서로 한 번씩 조인한다.CROSS JOIN 절에 테이블 작성하고 메인 테이블과 조인 칼럼을 연결하지 않는다.조인된 데이터는 조인된 상태로 조회되고, 조인 안된 데이터는 조인이 안된 상태로 조회된다. 조인되어도 조회되고 조인이 안
회사에서는 DB를 두가지 쓴다(mariaDB, Oracle).두가지 왔다갔다 하다보면 꽤나 헷갈리게 된다...그래도 어쩔 수 없음..데이터가 2019년을 기점으로 나뉘어져 있다보니...특히나 오라클 쿼리문이 익숙치 않아서 이 김에 조인과 관련하여 정리를 해보려 한다.오
지난주 목요일에는 면접을 보고, 토요일 오전에는 SQLD 시험을 응시하고 왔다.면접과 SQLD가 한주에 겹치게 돼서 정신 없었다.일단 SQLD 얘기부터 하자면, 현업으로 오니 SQL이 정말 만만치 않다고 느껴졌다.학부 시절에 데이터베이스 과목도 여럿 들었으나 시간이 지
Standard Template Library 로써, 템플릿으로 구현된 C++ 표준 라이브러리그중 컨테이너는 프로그래밍에 자주 쓰이는 데이터구조, 즉 데이터를 저장하는 방법들을 템플릿을 이용한 라이브러리로 구현해 놓은것.컨테이너는 순차적연관두 컨테이너로 나뉜다.순차적
쉽게 설명하자면 뭔가를 찍어내기 위한 틀이다.붕어빵 틀이 있다면 밀가루 반죽과 팥을 넣으면 붕어빵이 만들어진다.근데 그 안에 밀가루가 아닌 찹쌀가루나 슈크림을 넣으면 모양은 같지만 맛이 다른 붕어빵을 만들 수 있다.재료가 바뀌어도 템플릿은 사용할 수 있다는 뜻이다.C+
Figure 클래스라는 기반 클래스(부모 클래스)가 있고, 거기에서 상속받은 파생 클래스인 Ellipse, Triangle, Rectangle의 파생 클래스(자식 클래스)들이 있다고 가정하자.해당 클래스들의 메모리는 밑 그림과 같다.기반 클래스의 데이터가 앞부분에 있고
기반 클래스에서 정의된 기능을 파생 클래스에서 재정의하는 것을 오버라이딩이라고 한다.오버로딩이랑 이름이 비슷해서 헷갈릴 수 있지만 전혀 다른 내용이다.오버로딩은 '일을 너무 많이 준다'라는 뜻으로, 같은 이름의 함수를 인자의 형태나 개수만 다르게 해서 여러개 만드는 것
생성자와 소멸자는 클래스 이름에 따라 결정된다. 그러므로 상속되는 것이 아니라 기반 클래스에는 기반 클래스의 생성자와 소멸자가 있고, 파생 클래스에는 파생 클래스의 생성자와 소멸자가 있다.파생 클래스의 인스턴스를 생성하는 순간에 기반 클래스의 생성자가 먼저 호출된 다음
클래스 내부와 외부에서 모두 자유롭게 사용 가능클래스 내부에서만 사용가능. 상속시 파생 클래스에서 사용 불가능클래스 내부에서만 사용가능. 상속시 파생 클래스에서 사용 가능
멤버변수를 선언할 때 const를 붙여주면 상수가 된다.const 상수는 초기화된 이후 변경할 수 없다.const 상수는 반드시 생성될 때 초기화되어야 하므로 생성자 함수를 다음과 같이 만들어준다.앞서 봤듯이, const는 변수를 상수화 시킨다. 상수화 된 변수는 이후