728x90
반응형
SMALL

스마트한 개발 공부/C# 11

[C#] 상속과 interface(인터페이스) 그리고 abstract class(추상 클래스)

1. Class 상속 우리는 일상생활 속에서 어떤 공통적인 특징을 가지고 있고 특징이 공통된다면, 그 특징을 그대로 가져와서 다른 항목을 정의하는 데 사용하고는 한다. 일상적인 많은 객체들이 이러한 계층적인 관계를 이루고 있다. 차를 예로 들면 Tesla, Hyendai, BMW, Audi 4개의 차량이 있다고 해보자. 이들의 공통적인 특징은 Car라는 것이다. 만약, 각각의 타입을 정의한다고 하면 공통적으로 이것들은 시동 켜기, 시동 끄기, 엑셀, 브레이크와 같은 행위와 시동이 들어와 있는지, 연료는 얼마나 남았는지에 대한 상태 값을 제공한다. 이런 것은 차라는 특징에서 나온 것이다. public class Tesla { bool powerOn; bool electric; // Tesla 특화 멤버 필..

[C#] Method의 Parameter 전달방식과 Shallow, Deep Copy

Method를 만드는 방법에 대해서 설명했었는데 그렇다면 Method는 Parameter를 어떻게 전달할까? 2가지 방법이 있다. 1. Method의 Parameter 전달 방식 1.1 call by value parameter에 값을 전달하기 때문에 호출한 쪽에서는 영향이 없다. Reference Type은 값 자체가 인스턴스의 참조값이므로 call by Value를 하더라도 참조값이 전달되므로, 호출 전 전달 변수에 영향을 줌 1.2 call by reference parameter에 참조값을 전달하기 때문에 호출한 쪽에도 영향이 있다. 1. ref 키워드를 사용 : ref 키워드를 사용하고, 호출 전에 반드시 값을 할당한 상태에서 호출해야한다. 2. out 키워드를 사용 : 호출전에 선언만 하고, ..

[C#] 사용자 정의 함수 (Method)

코딩을 하다 보면. net에서 제공해주는 함수 말고 직접 만들어서 사용할 경우가 생긴다. 사용자 정의 함수는 어떻게 만들어 사용하는지 알아보자. 같은 namespace에 있는 class를 사용하는 방법이 있고, 다른 namespace에 있는 class를 사용하는 방법도 있지만 이번에는 같은 namespace에 있는 데이터를 사용해보려고 한다. 1. Class 선언 방식 class 클래스 이름 { [한정자] [static] [반환 형식] [메소드의 이름] ( 매개 변수 목록 ) { //실행하고자 하는 코드 return 메소드의 결과; // 메소드 결과의 데이터 형식은 반환 형식과 일치 } } 1.1 한정자 한정자란 사용자가 만드는 메서드를 호출할 수 있는 권한을 정해 놓는 것이다. public : 공개(누..

[C#] 제어문(선택문 - 연산자, if, switch && 반복문 - for, while )

C#에서는 제어문이 있다. 제어문은 선택문과 반복문으로 나눌 수 있다. 1. 선택문 선택문에는 "조건"이 따르게 되는데 이의 평가는 대부분 참/거짓으로 나오게 된다. 이를 C#에서는 연산자로 활용하여 표현한다. 1.1 연산자 연산자는 결과가 참/거짓으로 나온다. 1.1.1 관계 연산자 관계 연산자는 피연산자들끼리의 관계를 나타내는 것이다. 흔히들 쓰는 크거나 작다, 같다, 같지 않다 등이 있다. 모든 기준은 좌측이 중심이다. 종류 : > , =, = 90) result = "A"; else if (jumsu >=80) result = "B"; else if (jumsu >= 70) result = "C"; else { Console.WriteLine("당신은 낙제입니다") result = "F"..

[C#] Random 을 사용과 입력값 형변환 및 String 타입(가변, 불변)

1. Random 사용 및 입력값 형 변환 Random 메서드를 사용하여 일정 범위에서 임의의 정수를 추출한 뒤 이를 int형으로 변환시키는 예제이다. class RandomTest { static void Main() { Random rnd = new Random(); int com = rnd.Next(10, 100); //10~99 Console.Write("수입력 (10~99) : "); int user = int.Parse(Console.ReadLine()); if (com == user) Console.WriteLine("정답"); else if (com > user) Console.WriteLine("Up"); else Console.WriteLine("Down"); } } Random을 사용..

728x90
반응형
LIST