재귀 함수란?재귀 함수는 자기 자신을 호출하는 프로그래밍 기법이다. 재귀 함수는 복잡한 문제를 더 작은 하위 문제로 나누어 해결할 수 있도록 도와준다.재귀함수 기본 구조재귀함수는 두 가지 주요 부분으로 구성된다.기저 조건(Base Case): 함수가 더 이상 자기 자신을 호출하지 않고 종료되는 조건.재귀 단계(Recursive Step): 함수가 자기 자신을 호출하는 단계.피보나치 수열 재귀 함수 예시*피보나치 수열이란? 피보나치 수 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 피보나치 수를 이용한 사각형 채우기 수학에서 피보나치 수(영어: Fibonacci numbers)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다.ko.wikipedia.o..
C# 기초 프로그래밍/C# Basic
이전 포스팅에서 OOP란 무엇인지, 왜 사용해야 하는지, 그리고 OOP의 핵심개념 4가지에는 무엇이 있는지 알아 보았고, 캡슐화란 무엇인지 알아 보았다. https://nybot-house.tistory.com/104 [C# Basics] 객체지향 OOP란 무엇인가? - 핵심 4개념과 개론 이전 포스팅에서 한번 다루었던 OOP에 대해 다시 한번 그 중요성을 느꼈기에 한번 더 다뤄 보고자 한다. 이전 글: https://nybot-house.tistory.com/53 1. OOP 란? - 객체 지향 프로그래밍 소개 C++의 OOP란, 객체 nybot-house.tistory.com 이번 포스팅에서는 OOP(Object Oriented Programming)의 핵심 개념 중 하나인 다형성에 대해서 알아 보자..
이전 포스팅에서 OOP란 무엇인지, 왜 사용해야 하는지, 그리고 OOP의 핵심개념들에는 무엇이 있는지 알아 보았다. https://nybot-house.tistory.com/104 [C# Basics] 객체지향 OOP란 무엇인가? - 핵심 4개념과 개론 이전 포스팅에서 한번 다루었던 OOP에 대해 다시 한번 그 중요성을 느꼈기에 한번 더 다뤄 보고자 한다. 이전 글: https://nybot-house.tistory.com/53 1. OOP 란? - 객체 지향 프로그래밍 소개 C++의 OOP란, 객체 nybot-house.tistory.com 이번 포스팅에서는 OOP(Object Oriented Programming)의 핵심 개념 중 하나인 캡슐화와 은닉성에 대해 자세히 알아 보자. 캡슐화(은닉성)란? ..
이전 포스팅에서 한번 다루었던 OOP에 대해 다시 한번 그 중요성을 느꼈기에 한번 더 다뤄 보고자 한다. 이전 글: https://nybot-house.tistory.com/53 1. OOP 란? - 객체 지향 프로그래밍 소개 C++의 OOP란, 객체Object 가 중심이 되서 프로그래밍하는 패러다임. C++ 는 여러가지 패러다임을 제공해 주는 멀티 패러다임 언어이다. 1) procedural 2) functional 3) OOP - ( Object-Oriented Programming ) 4) generic 를 nybot-house.tistory.com 게임 개발을 하는 데 있어 객체 지향 프로그래밍, 즉 OOP (Object Oriented Programming)의 중요성은 다시 말할 필요 없이 핵심..
C#에서 생성자는 클래스나 구조체가 인스턴스화될 때 자동으로 호출되는 특별한 메서드이다. 생성자의 주요 목적은 객체를 초기화하는 것으로, 필드 또는 속성에 초기 값을 할당하는 등의 작업을 수행할 수 있다. 생성자는 클래스 또는 구조체의 이름과 동일하며, 반환 형식을 지정하지 않는다. 생성자는 객체 지향 프로그래밍에서 중요한 역할을 하며, 클래스의 인스턴스가 올바르게 초기화되어 사용될 수 있도록 보장한다. 기본 생성자 기본 생성자(Default Constructor)는 매개변수를 받지 않는 생성자이다. 사용자가 명시적으로 생성자를 정의하지 않으면, C# 컴파일러는 기본 생성자를 자동으로 제공한다. 그러나 사용자가 어떠한 생성자라도 정의하면, 컴파일러는 기본 생성자를 자동으로 제공하지 않는다. public ..
스택과 힙 메모리에 대한 설명은 여러 포스트들에서 다루었지만, 체계적으로 한번에 비교해서 설명이 되었다고 하기엔 조금 난잡한 포스트들이었다고 생각한다. 이번 포스팅에서는 C#의 관점에서 스택 메모리와 힙 메모리를 비교해보고 각각의 특성을 살펴보고자 한다. c#의 경우 포인터가 직접적인 기능을 하지는 않지만 간접적으로 기능을 하고 있기에, c++보다는 이해하기 쉽지만, 그럼에도 불구하고 복사와 참조를 이해하기 위해서는 메모리 구조, 그리고 변수가 메모리에 어떻게 저장되는지 잘 이해하고 있어야 한다. Stack 스택 1) stack은 임시메모리, 즉 잠시 사용하는 메모리이다. 메서드 호출 시 메서드의 지역 변수를 저장하는데 사용된다. 2) 이 메모리 영역은 LIFO(Last In First Out, 후입선출..
ref out 게시글에서 복사와 참조에 대하여 잠깐 다뤘었다. C++ 게시글에서 심도 있게 다루었던 내용이지만, C#에서도 한번 정리하고 넘어가야 맘이 편할 것 같아서 이번 게시글에서는 복사와 참조, 깊은 복사에 대해 다뤄보려고 한다. Struct 복사, Class 참조 우선 c#에서 struct는 기본적으로 복사를 하고, class는 참조를 한다. 예시를 통해 살펴보자. using System.Numerics; namespace CSharp { class Program { class Warrior { public int hp; public int attack; public void Move() { Console.WriteLine("Warrior Move"); } public void Attack() {..
https://nybot-house.tistory.com/92#comment15051682 함수/메서드 컴퓨터 과학에서 함수란? 함수(function), 서브루틴(subroutine), 루틴(routine), 메서드(method), 프로시저(procedure)는 소프트웨어에서 특정 동작을 수행하는 일정 코드 부분이다. 즉, '특정한 작업을 위해 nybot-house.tistory.com 위 게시글에서 ref 와 out을 잠시 언급했었다. 메서드에서 ref 와 out 키워드를 사용하면 pass by value가 아니라 pass by reference가 된다. 이는 메서드가 전달된 매개변수 값을 수정할 수 있다는 의미이다. (잘 모르겠다면 https://nybot-house.tistory.com/49). 1..