2024/09 20

240930(월) [C# 배치고사]

오늘은 주제가 모호해서 자유게시판 입니다.몬스터 클래스에 유저 공격 시, 데미지를 줄 때, 받을 때 함수를 추가했다. 사실 마음만큼은 좀 더 많은 걸 구현하고 싶은데 아직 내 레벨에는 그렇지 못해서 아쉬울따름.. C# 배치고사도 봤다 근 처음 볼 때는 풀릴 것 같은 문제가 쉽게 풀리지 않은 경우도 있었다. 물론 풀리는 문제도 있었다. 특히 못 푼 것 중에 기억나는 건 sort(배열정렬) 문제인데 절대 못 잊을 것 같다. (그런 단순한 문제라니...) 후반 문제는 강의 내용이 어렵다 보니 1회차때 그냥 흘려들은 게 많아서 과감하게 넘겼다.. 강의내용이 3-3 고급 문법부터 어려워지는 느낌이라서 2회차부터는 제대로 정리해보고 코드도 따라치면서 이해해야겠다. 갈 길이 멀지만, 그냥 하지 뭐.

자유게시판 2024.09.30

240927(금) [해설 강의를 통해 추가로 알게 된 부분 정리]

저번에 적은 내용은 제외하고 정리했다. 먼저 문자에 대한 예외 처리int result;while (true) // 반복해서 실행할 수 있도록{ string input = Console.ReadLine(); bool isNumber = int.TryParse(input, out result); // 문자에 대한 예외처리 코드 if(isNumber) { break; } Console.WriteLine("잘못된 입력입니다");} 해설더보기사용자가 입력한 값이 input 변수에 저장되고 TryParse에 int 결과가 들어감 입력한 값이 숫자가 아니라면 TryParse 의 값이 False 처리되므로  if문을 빠져나가고 while문을 다시 반복입력한 값이 숫자..

개발일지 2024.09.27

240926(목) [개인 과제 해설 강의 시청 : 필수 기능]

개인 과제 해설 강의를 시청했다.과제의 목적: 학습한 내용을 어디에 사용하면 좋을지 게임 구현을 통해 알아가는 것 강의를 보면서 느낀 내 코드의 문제점1) 모든걸 main 함수로만 처리해서 코드가 길어지고 지저분한 느낌2) 코드를 적재적소에 활용하지 못함3) 아이템 선택 화면시 번호가 나오게 하는 방식 해결방법1) 코드가 공통되거나 자주 쓰는 기능은 따로 함수를 만들어 호출해주기2) 배열과 반복문을 적절하게 활용하여 코드의 가독성을 높힌다.3) 보간 기능, 배열, for문을 적절하게 활용 알게된 부분1) 사용자가 정해진 값이 아닌 다른 값을 입력할 경우 Try.parse 사용2) 삼항 연산자를 사용하여 IF문을 간결하게 표현가능3) contains 함수를 이용하여 해당 변수가 있는지 체크할 수 있다. 아..

개발일지 2024.09.26

240924(화) 프로그래밍 공부 마인드 세팅

정독한다. (강의 보기)익힌다. (실제 코드를 통한 실습)재해석한다. (나만의 관점으로 다시해보기) 뜻의 해석은 개개인마다 다르겠지만, 내가 이해한 내용은 괄호의 내용과 같다.어쩌면 지금 내 상황에 가장 맞는 말이 아닌가 싶다. 지금의 어려운 개념을 완벽하게 이해하려고 하지 말고실습 위주로 학습하여 나만의 것으로 만드는 방법은 생각해보면정말 코딩뿐만 아니라 모든 분야에 잘 쓰는 방법인 것 같다. 과거에 어렵다고 생각한 자격증을 취득할때도 지금 생각해보면 꾸준한 반복으로 내 것으로 만들었었기에 매일 이 글을 보며 앞으로는 공부방식을 조금씩 바꿔 나가야겠다.

자유게시판 2024.09.24

240924(화) C# 문법 종합반 [클래스와 객체]

객체지향 프로그래밍(Object-Oriented Programming, OOP)의 특징특징1) 캡슐화: 데이터와 기능을 하나의 단위로 묶는것을 뜻함2) 상속: 기존의 클래스를 확장하여 새로운 클래스를 만듬- 부모 클래스의 동작과 특성을 자식 클래스가 상속받아 재사용 가능- 코드의 중복 감소, 클래스 간 계층 구조를 구성하여 코드의 구조화, 유지 보수 용이3) 다형성: 하나의 인터페이스나 기능을 다양한 방식으로 구현하거나 사용하는 능력- 하나의 메서드 이름이 다양한 객체에서 다르게 동작할 수 있도록 함- 유연하고 확장 가능한 코드 작성이 가능함, 코드의 가독성 재사용성 높임4) 추상화: 복잡한 시스템이나 개념을 단순화하여 필요한 기능에 집중5) 객체: 객체는 클래스로부터 생성된 실체, 데이터와 해당 데이터..

개발일지 2024.09.24

240923(월) C# 문법 종합반 [메서드와 구조체]

메서드(Method) 일련의 코드 블록으로, 특정한 작업을 수행하기 위해 사용되는 독립적인 기능 단위 메서드를 사용하는 이유1) 필요한 메서드를 호출하면 동일한 작업을 반복해서 수정 또는 구현하지 않아도 된다. (재사용성)2) 메서드를 사용하여 코드를 작은 단위로 분리하고 관리할 수 있다. (모듈화)3) 코드가 간결해지므로 읽기 편해지고, 코드 수정이 필요한 경우 해당 메서드만 수정하면 된다. (가독성, 유지보수성)4) 반복 작업을 메서드로 묶어 작업하므로 코드 중복 방지 가능(중복제거)5) 메서드를 통해 작업 단위 추상화, 메서드 이름을 통해 어떤 역할을 하는지 파악 가능 (추상화) 메서드의 구조, 문법[접근 제한자] [리턴 타입] [메서드 이름] ([매개변수]){ // 메서드 실행 코드} 접근제..

개발일지 2024.09.23

240923(월) C# 문법 종합반 [배열과 컬렉션]

배열동일한 자료형의 값이 연속적으로 저장되는 자료 구조 1차원 배열1) 동일한 데이터 유형을 가지는 데이터 요소들을 한 번에 모아서 다룰 수 있는 구조2) 인덱스[]를 사용하여 요소에 접근 가능 3) 선언된 크기만큼의 공간을 메모리에 할당받는다. 사용예시// 배열 선언데이터_유형[] 배열_이름;// 배열 초기화배열_이름 = new 데이터_유형[크기]; //// 배열을 한 줄로 선언 및 초기화데이터_유형[] 배열_이름 = new 데이터_유형[크기];// 배열 요소에 접근배열_이름[인덱스] = 값; 값 = 배열_이름[인덱스];int[] array1; // 선언array1 = new int [3] // 초기화int[]array1 = new int[3] // 선언 및 초기화array[1] = 0 ; // 배열 ..

개발일지 2024.09.23

240922(일) C# 문법 종합반 [반복문, 반복문 실습]

1) for문for (초기식; 조건식; 증감식){ // 조건식이 참인 경우 실행} 2) while문while (조건식){ // 조건식이 참인 경우 실행} 3) do-while문do{ // 조건식이 참인 경우 실행}while (조건식); while문과 차이점: 일단 먼저 1번 실행하고 이 조건을 검사한다. 4) foreach문foreach (자료형 변수 in 배열 또는 컬렉션){ // 배열 또는 컬렉션의 모든 요소에 대해 반복적으로 실행} 이상하게 자료형 변수 in 배열 이라고 하면 잘 안 외워지는데String item in inventory는 잘 외워진다. 똑같은 말인데 뭘까.. 5) break, countinuebreak : 반복문 중지 역할continue: 해당 회차 반복을 넘기..

개발일지 2024.09.22

240920(금) C# 문법 종합반 [조건문, 심화 실습]

switch문switch (변수나 식){ case 값1: // 값1이 나온 경우 실행되는 코드 break; case 값2: // 값2가 나온 경우 실행되는 코드 break; // ... default: // 모든 case문에 해당하지 않는 경우 실행되는 코드 break;} 알게된 부분: switch문의 default가 있는줄 처음 알게 됐다. if문 처럼 else 조건이 있구나 생각했다. 3항 연산자if문을 간단한 형태로 나타낼 수 있는 것으로 두 값을 선택할 수는 연산자다(조건식)? 참일 경우 값 : 거짓일 경우 값; 예시int currentExp = 1200;int requiredExp = 2000;# 삼..

개발일지 2024.09.20

240920(금) C# 문법 종합반 [1주차 숙제]

사용자로부터 입력 받기이름과 나이를 입력 받고 출력하는 코드를 작성하세요.이름을 string으로 나이를 int로 하는건지 헷갈려서 헤맸다.. (아래 2번째 코드)일단 string으로 통일해서 첫 코드를 작성했다. 첫번째로 한 방법// 이름과 나이를 입력 받고 출력하는 코드를 작성하세요Console.Write("이름 : ");string name = Console.ReadLine();Console.Write("나이 : ");string age = Console.ReadLine();Console.WriteLine("이름은 {0}, 나이는 {1}세 입니다.", name, age); 이용자가 Console.ReadLine에 입력하면 name, age 변수에 각각 정보가 저장되어 출력된다. 마지막줄에 $를 붙여 ..

개발일지 2024.09.20