전체 글(67)
-
2023.11.16 오늘의 기록 고급 자료형 및 기능
1. null 값 = 아무것도 없는 빈 공간 2. Nullable 값형 변수에 null 값을 지정할 수 있는 방법을 제공하여 값형이나 구조체를 사용하는 프로그램에서 null 상태를 나타낼 수 있습니다. 사용 예제로 이해하기! // Nullable 형식 변수 선언 int? nullableInt = null; double? nullableDouble = 3.14; bool? nullableBool = true; // 값 할당 및 접근 nullableInt = 10; int intValue = nullableInt.Value; // null 값 검사 if (nullableDouble.HasValue) { Console.WriteLine("nullableDouble 값: " + nullableDouble.Val..
2023.11.20 -
2023.11.15 오늘의 기록 인터페이스와 열거형
1) 인터페이스의 사용 이유 코드의 재사용성: 인터페이스를 사용하면 다른 클래스에서 해당 인터페이스를 구현하여 동일한 기능을 공유할 수 있습니다. 인터페이스를 통해 다양한 클래스가 동일한 동작을 수행할 수 있으므로 코드의 재사용성이 향상됩니다. 다중 상속 제공: C#에서는 클래스는 단일 상속만을 지원하지만, 인터페이스는 다중 상속을 지원합니다. 클래스가 여러 인터페이스를 구현함으로써 여러 개의 기능을 조합할 수 있습니다. 다중 상속을 통해 클래스는 더 다양한 동작을 수행할 수 있습니다. 유연한 설계: 인터페이스를 사용하면 클래스와 인터페이스 간에 느슨한 결합을 형성할 수 있습니다. 클래스는 인터페이스를 구현하기만 하면 되므로, 클래스의 내부 구현에 대한 변경 없이 인터페이스의 동작을 변경하거나 새로운 인..
2023.11.16 -
2023.11.14 오늘의 기록 개인과제 2주차
1. 오늘 마주한 오류 1)깃허브 데스크탑에서 과제물 제출하기 위해 레파지토리를 만들고, 원격 저장소에 푸쉬를 하려고 하면 private 으로 만들어져서 깃허브 사이트에서 다시 public 환경으로 일일이 바꿔줘야 되는 번거로움이 있었다. 2)송지원 튜터님의 개인과제 해설 영상을 보면서 따라서 작성을 해보았는데, 분명히 똑같이 따라하고 있다 생각을 했지만 클래스 내부와 외부 환경에 입력이 되어있었는지, 콘텍스트가 없다는 오류를 발견했다. 머리로는 이해는 됬는데, 정확하게 어떤 순서로, 어디 위치에 클래스를 만들어주고, 함수를 작성해야되며, 어떤 기능을 하는 함수를 써야되는 지 아직은 많이 배워야 될 거 같다. 3)개인과제 1차 제출 후 피드백을 받게 되었는데, -아직까지 c# 문법에 익숙하시지 않으셔서 ..
2023.11.14 -
2023.11.13 오늘의 기록 첫번째 개인과제
C# 언어를 활용한 첫 개인 과제를 만들게 되었다. 간단한 콘솔게임을 만드는 것인데, 주어진 기본 틀에서 내 머릿속에서 최대한 구현을 해보고자 했다. 사실 주말부터 시작했던 과제였는데, 오늘 풀이를 보고 나서 전혀 다른 흐름의 코딩 짜임새로 만들어져서 혼란스러웠다. 그래도 내가 생각한 내용들을 구현하기 위해 튜터님들도 찾아가고, 구글링도 해보고, 이것 저것 해봤는데, 결론적으로 함수의 구조가 이상해서 Main 함수 구현이 반복되거나, 선택 시 뒤로가지 못하고 끝나버리는 문제점이 발생했다. 결국 내가 생각한 부분에 대한 구현을 포기하고 튜터님이 설명해주시는 풀이를 보며 차근차근 다시 만들고자 하였다. 그런데, 분명 나는 똑같이 따라한다고 했는데 중괄호 위치가 이상한 것인지 네임스페이스 정의가 필요하다는 오..
2023.11.14 -
2023.11.10 오늘의 기록 클래스와 객체
객체지향 프로그래밍의 특징 1. 캡슐화 관련 된 데이터와 기능을 하나로 묶을 수 있다. 2. 상속 부모클래스 / 자식클래스 => 사람이라는 부모 클래스 상속 개념으로 직업군이 상속되어 각자의 기능을 구현한다. 코드 중복을 방지하는 장점이 있다. 3. 다형성 오버로딩, 오버라이딩을 통해 구현된다. => 하나의 기능을 다양하게 구현할 수 있다. 4.추상화 복잡한 개념을 단순화하여 필요한 기능에 집중 => 세부내용보다는 핵심내용을 위주로 5.객체 객체는 상태(데이터)와 행동(메서드)을 가지며, 실제 세계의 개체나 개념을 모델링 클래스와 객체 => 붕어빵틀과 붕어빵 프로퍼티....개념은 이해는 안되지만 우선 암기 자동프로퍼티 구문 [접근 제한자] [데이터 타입] 프로퍼티명 { get; set; } class P..
2023.11.10 -
2023.11.09 오늘의 기록 메서드와 구조체
메서드 한 묶음 단위로 코드를 뭉침 (양치하기-양치의 일련의 과정을 담는 것) 반환값 return (양치를 잘 했을 때 포인트를 준다.) => 계산값, 대입해서 나오는 값 접근 제한자 public(외부에서도 접근 가능) private(클래스 내부에서만 사용) protected(상속, 연결고리가 있는 애만 사용) 메서드 호출방법 Addnumber(10, 20); => 메서드이름(전달 할 매개변수); 오버로딩 오버로딩은 메서드의 기능이나 작업은 동일하지만 입력값에 따라 다르게 동작해야 할 때 사용됩니다. 반환값이 다르더라도 같은 기능을 하기 때문에 매개변수를 구분하는데 사용한다. => 동일한 메서드이다. 문자는 문자로, 숫자는 숫자로 사용하는 기능 void PrintMessage(string message)..
2023.11.09