본문 바로가기

프로그래밍206

[C++] 참조자(Reference)에 대해서 우리는 변수(Variable)이 할당된 메모리 공간을 지칭하는 것, 즉 메모리 공간에 붙여진 이름이라는 것을 알고 있습니다. 그리고 C++에서 처음 도입된 참조자(Reference)는 메모리가 할당된 변수에 또 다른 이름, 즉 별명을 붙이는 것이라고 할 수 있습니다. 이번에 C++에서 사용되는 참조자의 특징에 대해서 한 번 알아보겠습니다. 1. 참조자의 사용 참조자는 '&'를 사용해서 선언할 수 있습니다. 다만 주의해야할 점은 선언과 동시에 정의를 해주어야 하고, 상수는 참조할 수 없습니다.(뒤에서 다시 설명하겠습니다.) int main() { int a = 10; int& ref_a = a; printf("a : %d\n", a); printf("ref_a : %d\n", ref_a); printf(".. 2020. 11. 24.
Call by Value와 Call by Reference Call by Value와 Call by Reference에 대해서 프로그래밍을 공부하는 분이라면 많이 들어보셨을테고, 어떤 개념인지 잘 아실 것이라고 생각합니다. Call by Value Call by Value는 값에 의한 호출을 의미하며, 원본 값을 복사하여 함수 매개변수로 전달하는 것입니다. 기본적으로 C/C++은 함수로부터 객체를 전달받거나, 함수에 객체를 전달할 때 'Call by Value' 방식을 사용합니다. 여기서 Value는 값을 담을 수 있는 모든 타입이 해당됩니다. (정수형, 문자형, 실수형, 주소값, Class 등) 익숙한 예시인 swap 함수를 살펴봅시다. #include using namespace std; void Swap(int a, int b) { int temp = a;.. 2020. 11. 22.
[Python/파이썬] 클래스(Class) - 참조 문헌 및 사이트(Reference) docs.python.org/3/tutorial/index.html Byte of python - Swaroop C H 이번글에서는 파이썬에서의 클래스 Class에 대해서 한 번 알아보도록 하겠습니다. 클래스는 객체 지향 프로그래밍을 위한 도구로 사용되며, 객체를 정의하는 설계도라고 이해하면 될 것 같습니다. 사용되는 용어를 먼저 알아보겠습니다. 여기서 클래스(Class)와 객체(Object)라는 단어가 있는데, 클래스(Class)는 사용자가 새로운 타입(형식)을 정의하는 것이며, 객체(Object)는 클래스의 인스턴스(instance), 즉, 새로운 형을 사용해서 만든 것을 의미합니다. 만약 Person이라는 클래스가 있을 때, 이 클래스를 가지고 Jun이라.. 2020. 9. 6.
[Python/파이썬] 모듈(Module)과 패키지(Package) - 참고 문헌 및 사이트 https://docs.python.org/3/ 모듈 Module 우리가 이전 게시글에서 파이썬 코딩을 할 때, 주로 인터프리터를 실행시켜서 한줄씩 실행했었습니다. 인터프리터로 클래스나 함수를 작성하고 종료하면, 당연하겠지만 정의했던 것들이 사라집니다. 그래서 자주 사용되는 함수/클래스/변수나 좀 더 긴 프로그램을 작성하고자 할때, 우리는 편집기를 사용해서 코드를 작성하고 그 파일을 입력으로 읽어서 사용하는 것이 좋으며, 이렇게 작성하는 것을 스크립트를 작성한다고 합니다. 또한, 프로그램이 길어짐에 따라서 코드의 가독성을 높히고 유지보수를 쉽게하기 위해서 여러 개의 파일로 나눌 수도 있고, 자주 사용하는 함수를 각 프로그램에 정의를 복사하는것이 아니라 단순 파일을 읽음으로써 사용.. 2020. 8. 29.
[Python/파이썬] 함수 / 람다표현식(Lambda Expression) - 참고 문헌 및 사이트 https://docs.python.org/3/ https://wikidocs.net/book/1 이번 글에서 함수를 정의하는 다양한 방법과 함수의 DocString, Function Annotation 그리고 Lambda 표현식에 대해서 알아보겠습니다. 함수란 함수란 입력값을 가지고 어떠한 과정을 거쳐서 결과물을 내어놓는 것입니다. 수학에서 \(y = 5x + 2\)와 같은 식도 함수이죠. 프로그래밍에서 함수는 어떻게 사용될까요? 코딩을 하다보면 똑같은 내용을 반복해서 작성할 때가 종종 있습니다. 이때 바로 함수가 필요하게 됩니다. 함수는 반복 및 재사용이 가능한 프로그램의 조각이며, 반복되는 일들을 특정 블록의 덩어리에 정의해서, 필요할 때마다 그 볼록이 포함된 명령들을 실행.. 2020. 8. 21.
[Ruby/루비] 클래스 정의하기 / 믹스인 작성하기 - 클래스 루비는 자바, C#, C++과 마찬가지로 클래스와 객체를 갖습니다. 객체지향에 대해 설명할 때 신이 사람을 만들면서 사람이라는 클래스를 가지고 고유한 사람 A, B, C(객체)를 만들었다고 했었습니다. 즉, 클래스는 객체의 템플릿입니다. 루비의 클래스는 C++과는 다르게 superclass라고 불리는 오직 하나의 부모로부터만 상속할 수 있습니다. 다음을 살펴봅시다. 객체는 클래스로부터 만들어지고, 4의 클래스는 Integer입니다. Integer는 Numeric, Object, 그리고 궁극적으로는 BasicObject라는 클래스를 상속합니다. 위는 이러한 클래스들이 어떻게 관련을 맺는지 확인할 수 있습니다. 위의 관계를 그림으로 그려보면 다음과 같습니다. 해당 모델은 Ruby 1.8.7 버전에.. 2020. 8. 20.
[Python/파이썬] 제어문과 반복문 (If/While/for) - 참조 문헌 및 사이트 https://docs.python.org/3/tutorial/index.html https://wikidocs.net/book/1 1. While문 while문은 조건이 참인동안 계속 반복되는 반복문입니다. while condition: statement1 #while's body statement2 위와 같은 방법으로 사용되며, C언어와 마찬가지로 0이 아닌 모든 정수는 참, 0은 거짓으로 판단합니다. 이전글에서 True/False 자료형에 대해서 언급을 했었는데, 빈 시퀀스의 자료형(ex, 리스트/튜플/딕셔너리)도 거짓으로 판단합니다. condition에는 간단한 비교연산자를 사용할 수도 있고, while문의 body는 들여쓰기를 해야합니다. 아래는 피보나치 수열을 나열하는.. 2020. 8. 19.
[Python/파이썬] 파이썬의 변수에 대해서(+리터럴 상수) 이때까지, 파이썬 자료형에 대해서 알아봤는데 그 자료형들이 저장되는 변수에 대해서 알아보겠습니다. 이전 글에서 순수객체지향을 설명하면서 언급했었는데, 동일한 내용입니다. 2020/07/30 - [Language/Python] - [Python/파이썬] 파이썬에 대해서 a = 1 b = 'Python' c = [1, 2, 3] 자료형에 대해서 배우면서 우리는 위와 같은 표현을 봤습니다. 이때, a, b, c를 변수라고 하며, 변수를 생성할 때는 =(assignment) 기호를 사용합니다. C/C++이나 JAVA에서는 변수를 만들 때 자료형을 명시해주어야 하지만, 파이썬은 변수에 지정된 값을 보고 판단하여 자동으로 자료형이 지정됩니다. 그리고 C/C++이나 JAVA와는 다르게 파이썬에서 사용하는 변수는 값 .. 2020. 8. 11.
[Python/파이썬] 파이썬 기본 자료형 2(리스트, 튜플, 딕셔너리, 집합) 기본 자료형 1에 이어서 리스트(list), 튜플(tuple), 집합(set), 사전(dictionary)형에 대해서 알아봅시다. [리스트 list] 리스트는 데이터의 모음 또는 값을 나열하는 것이라고 할 수 있습니다. 리스트는 대괄호([ ])로 묶어서 표현하며, 리스트에 속하는 요소들은 쉼표(,)로 구분합니다. 요소에는 정수, 실수, 문자열, 리스트 등 모든 자료형이 가능합니다. list = [ element1, element2, element3, ... ] 아래의 여러가지 리스트를 살펴봅시다. a = [] b = [1, 2, 3] c = ['My', 'name', "is", 'junstar'] d = [1, 2, 'my', 'name'] e = [1, 2, ['my', 'name']] a처럼 아무것도.. 2020. 8. 11.
[파이썬/Python] 파이썬 기본 자료형 1(숫자형, 문자열, bool형, None) 파이썬 기본 자료형에 대해서 알아봅시다. 파이썬의 자료형에는 숫자형, 문자열, 부울(bool), 리스트, 튜플(tuple), 집합(set), 사전(dictionary)이 있습니다. [숫자형] 숫자형에는 int(정수형), float(실수형), complex(복소수)가 있습니다. - integer(정수형) 말 그대로 양의 정수, 음의 정수, 0을 포함하는 자료형입니다. a = 123 b = -123 c = 0 파이썬 2.x 버전에서는 엄청 큰 숫자를 담기 위한 long 타입이 존재했지만, 3.x부터는 long 타입이 사라지고, int 타입이 크기 제한이 없는 부호있는 정수형이 되었습니다. 파이썬 정수형의 크기는 컴파일러에 의해서가 아닌 컴퓨터 메모리에 의해서만 제한됩니다. 8진수(ex, 0o65)나 16진수.. 2020. 8. 10.