📌Static
·
⭐C Sharp/11. 객체 지향
값타입과 참조타입의 메모리 할당 시점 1. 값 타입 ( Valuse Type )- 대표 : int , float , struct , bool 등..- Stack 영역에 주로 저장된다. 할당 시점- 변수를 선언할 때 곧바로 스택에 공간이 잡힌다.- 값 타입은 블록 범위가 끝난 시점에 사라진다.int x = 10; // 스택에 바로 10이 저장됨 2. 참조 타입 ( Reference Type )- 대표 : class , array , string 등..- Heap 영역에 실제 데이터가 저장된다.- Stack 에는 Heap 을 가리키는 참조 ( 주소값 ) 만 저장된다. 할당 시점- new 키워드를 만나는 순간 Heap 에 메모리가 잡힌다.- 참조 타입은 더 이상 사용되지 않아서 자동으로 할당 해제된다. ( ..
250916 예습
·
📖TIL
인자값 : 함수에 값을 넣는 값 매개변수 : 빈 컵인자값 : 컵에 실제로 따라 넣는 물 인스턴스 : 클래스로부터 만들어진 실제 객체 객체지향, 클래스, 프로퍼티, 캡슐화, 상속, 추상화, 다형성, 접근지정자 ctor 키워드 찾는 방법Ctrl + FCtrl + TabCtrl + 키워드 클릭 자동구현 프로퍼티 백킹필드 This. 디폴트 매개변수, partial class, namespace call by value, call by ref ref, in, out
250915 복습
·
📖TIL
객체지향데이터(상태)와 그 데이터를 다루는 동작(메서드)를 하나의 단위(객체)로 묶어서,객체들끼리 메시지를 주고 받게 만드는 프로그래밍 방식 클래스는 설계도.객체는 설계도로 만들어진 실제 물건 값 타입- 스택에 값 저장 참조 타입- 스택에 주소만 저장- 힙에 객체의 실제 내용 저장 캡슐화 : 내부는 감추고 안전한 문 ( 프로퍼티 / 메서드 ) 으로만 접근상속과 다형성 : 오늘은 배우지 않았다.Car car = new Car();[설계도이름] [변수이름] = new Car(); Car 클래스를 실제로 메모리에 만들어라 라는 명령new 는 새로운 인스턴스를 힙에 생성한다는 뜻(); 는 생성자를 호출하는 부분인데, 지금은 아무 생성자도 없으니까 기본 생성자가 자동으로 호출
250915 예습
·
📖TIL
객체지향프로그램 내에서 개별적으로 존재하는 각 객체들이 서로 상호작용 하며 하나의 프로그램을 구동시킨다.게임에 자동차를 하나 넣기 위해 현실의 모든것들을 담을 필요는 없다.프로그램에 필요한 내용만 잘 추려서 담는걸 "추상화"라고 한다.프로그램에 필요한 요소와 기능을 묶어서 설계도를 만들면 "클래스"라고 한다.그 자료형을 통해 만들어진 결과물을 "객체"라고 한다.이 객체들의 상호작용이 현재 가장 많이 사용되는 프로그래밍 패러다임이다.- 추상화 : 복잡한 현실의 모든 세부 사항 생략 후 , 문제 해결에 필요한 요소와 기능만을 담음- 클래스 : 객체를 만들기 위한 설계도( struct 나 enum 설계도를 생성, 그 자체는 동작 x , 변수 생성해야 작동 )- 객체 : 클래스를 기반으로 만들어진 실제 데이터의..
Enum 반환형
·
⭐C Sharp/08. 열거형
Enum 은 특정 상수들의 집합을 나타내는 열거형 자료형으로,그 자체로 반환형이 될 수 있다.함수를 선언 할때[ 반환형 ] [ 함수이름 ] ( 매개변수 )로 선언하게 되는데 반환형에 Enum 이 들어올수 있다.함수나 메서드의 반환 타입으로 enum 을 지정하여 여러 의미 있는 값 중 하나를 반환 가능.enum Result{ Win, Lose, Draw}enum Rps{ Scissors = 1, Rock = 2, Paper = 3}Result 라는 열거형을 선언RPS 라는 열거형을 선언static Result Versus(Rps user, Rps comp) { }이런 식으로 작성 가능
화살표 함수 사용하기 ( 람다식 )
·
⭐C Sharp/00. 문법
internal class Program{ static void sum(int a, int b) => Console.WriteLine(a + b); static void hello() => Console.WriteLine("안녕하세요"); static void Main(string[] args) { sum(10, 20); hello(); }} 화살표 함수 메서브 본문이 단순한 형태일 때는 중괄호를 생략하고 바로 화살표 연산자 ( => ) 를 사용하여 화살표 함수로 구현 가능C# 에서 식 본문 멤버 ( Expression-bodied members ) 라는 문법 ( Syntax ) 에 속한다.화살표 연산자를 영어 원문 그대로 "goes to" 로 부르기도..
맨날 헷갈리는 배열
·
📖TIL
배열이란?같은 자료형의 데이터를 순서대로 나열한 묶음예: 학생 30명의 점수를 따로 변수 30개 만들 필요 없이, int[] scores = new int[30]; 로 한 번에 관리int[] numbers = new int[5]; // 길이 5짜리 배열 (기본값 0)numbers[0] = 10;numbers[1] = 20;Console.WriteLine(numbers[0]); // 10Console.WriteLine(numbers[1]); // 20인덱스 ( index ) 는 0 부터 시작한다.길이가 5 라면 인덱스는 0 , 1 , 2 , 3 , 4 까지이다.배열 선언과 동시에 값 넣기int[] numbers = { 10, 20, 30, 40 };Console.WriteLine(numbers[2]);1..
맨날 헷갈리는 구조체
·
📖TIL
구조체란?여러 데이터를 하나의 묶음(자료형)으로 정의하는 것.예를 들어, 좌표(x, y)를 저장하려면 원래는 int x; int y; 이렇게 따로따로 써야 했다구조체를 쓰면 XYCoord라는 하나의 "자료형"으로 묶을 수 있다.struct XYCoord{ public int X; public int Y;}class Program{ static void Main() { XYCoord point; // 구조체 변수 선언 point.X = 10; point.Y = 20; Console.WriteLine($"X:{point.X}, Y:{point.Y}"); }}출력X:10, Y:20
맨날 헷갈리는 Enum
·
📖TIL
enum Level { Easy = 1, Normal, Hard, Extreme = 10 } csharp 코드 복사 class Program { static void Main() { Level lv1 = Level.Normal; Level lv2 = Level.Extreme; Console.WriteLine((int)lv1); Console.WriteLine((int)lv2); } }문제 1출력 결과는 무엇일까요?enum Day { Mon, Tue, Wed, Thu, Fri, Sat, Sun } class Program { static voi..