컴퓨터프로그래밍/C# 24

생성자와 소멸자

생성자 생성자는 객체를 생성할때 동작(호출)하는 메소드 입니다. 사용방법은 아래와 같습니다. 클래스 클래스명{ 한정자 클래스명(매개변수){ // }} 위를 보면 알 수 있듯이 생성자는 클래스와 이름과 같고, 메소드의 형태를 유지하고 있습니다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Car { int maxSpeed=0; int lowSpeed=0; internal Car(int max, int low) { maxSpeed = max; lowSpeed = low; } int..

접근제한자와 this

접근제한자. 접근 제한자설명 public모든 곳에서 해당 멤버로 접근이 가능합니다.internal같은 어셈블리에서만 public으로 접근이 가능합니다. protected internal같은 어셈블리에서만 protected으로 접근이 가능합니다. protected클래스 외부에서 접근할 수 없으나 파생 클래스에서는 접근이 가능합니다.private클래스 내부에서만 접근이 가능합니다. 접근 제한자클래스내부서브(파생)클래스외부클래스다른파일프로젝트public○○○○○internal○○○○ protected internal○○○ protected○○ private○ 접근제한자 어렵게 생각할필요 없습니다.private 내방(클래스) 침입하면 안됨! 하고 문을 닫는거랑 똑같습니다. 예를들어private ClassA{ p..

C# - 클래스, 객체지향의 개념잡기

객체의 이해 객체는 사람, 개, 비행기, 바다, 공기 등등 세상의 모든것을 지칭할 수 있습니다. 객체의 특성으로는 상태, 행동, 독자성으로 정리가 가능합니다. 저번 메소드 포스팅에서 아래의 내용을 다뤘습니다. 그래도 아래를 이해하면 객체지향에 접근하기 쉽기 때문에 다시한번 넣어봤습니다. 사실은 양늘릴려고 ㅋㅋㅋ C#을 시작하고 나서 프로그램을 접할때 인터페이스? 클래스? 메소드? 도대체 어떤 차이점이 있는거지? 라고 고민한 경험이 있었습니다. 갑자기 나온 용어에 어렵게 생각하지 않으셔도됩니다. 인터페이스 : 자동차클래스 : 소형차, 중형차, 상용차(트럭)메소드 : 시동걸다. 가속한다. 멈추다. 후진한다. 인터페이스안에 클래스가 포함되고 클래스안에 메소드가 포함됩니다. ※ C# 소스와 인터페이스는 같지 않..

C# - 메소드 오버로딩

메소드 오버로딩 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void test(){} static void test(int i) { } static void test(int i, float j) { } static void test(String[] args) { } static void Main(string[] args) { test(1,3); } } } 클래스 하나에 같은 이름의 메소드가 여러개 사용되었을 때 C#은 어떻게 처리할가?물론 같은이름..

C#_메소드_인자(변수)전달하기

Call by Value using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { public void Increase(int i) { i++; Console.WriteLine("increase 메소드 안:{0}", var); return; } static void Main(string[] args) { Program pg = new Program(); // 이건 나중에~ int i=10; Console.WriteLine("메소드호출전:{0}", i); pg.Increas..

C# 변수의 범위

변수의 범위 변수에도 유통기한이 있습니다.클래스가 사라지면 없어지는 변수메소드가 사라지면 없어지는 변수 우리는 이러한 변수의 유통기한을 지역변수와 멤버변수로 지정할 수 있습니다. 결과) 위 결과에서 지역변수는 메소드내에서 사용되고 메소드를 벗어나면 사라지는것을 알 수 있습니다.멤버변수는 클래스 내에서라면 어디서든 사용할 수 있음을 보여주고 있죠.인스턴트 변수는 다음 포스팅에서 클래스와 함께 정리하겠습니다. 더 알아보기 지역 변수지역변수란 메소드 내에서 선언된 변수를 의미한다.특징은 아래와 같습니다.ㆍ메소드가 실행될 때 변수를 저장하기 위한 메모리가 생성된다.ㆍ선언된 메소드 내부에서만 사용할 수 있습니다.ㆍ메소드의 실행이 종료될 때 메모리가 해제됩니다.ㆍ변수를 선언 후, 초기 값을 부여하는 초기화가 꼭 필..

C# - 메소드

메소드를 들어가기전에.. C#을 시작하고 나서 프로그램을 접할때 인터페이스? 클래스? 메소드? 도대체 어떤 차이점이 있는거지? 라고 생각하면 머리를 쥐어짠 경험이 있었습니다. 갑자기 나온 용어에 어렵게 생각하지 않으셔도됩니다. 인터페이스 : 자동차클래스 : 소형차, 중형차, 상용차(트럭)메소드 : 시동걸다. 가속한다. 멈추다. 후진한다. 인터페이스안에 클래스가 포함되고 클래스안에 메소드가 포함된다는 것은 이해 하실겁니다. ※ C# 소스와 인터페이스는 같지 않습니다. C# != 인터페이스 자동차라는 인터페이스는 소형차, 중형차, 상용차의 공통적인 부분을 다루고 소형차 클래스는 공통적인 부분에 소형차의 내용을 추가하고중형차 클래스는 공통적인 부분에 중형차의 내용을 추가하고상용차 클래스는 공통적인 부분에 상용..

C# - 배열

배열을 왜 사용할가? 배열은 여러개의 변수를 한줄로 묶어놓은 것 이라고 할 수 있습니다. 만약 32, 12, 43, 23, 53, 72, 82, 20, 232, 432 의 숫자 모두 더해라! 라고외치면 우리가 배운 방법으로는 아래와 같이 해야합니다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int a1 = 32; int a2 = 12; int a3 = 43; int a4 = 23; int a5 =..

C# - 반복문

C# 반복문 - while while은 조건이 참(true)이면 블록안의 문장을 계속 실행하고 while의 조건이 거짓(false)이면 while의 블록을 실행하지 않고 다음으로 넘어갑니다. while(조건식) { //반복실행할 코드} 아래는 var이 5가 될때까지 "_@~를 반복하는 코드입니다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int var = 0; int i = 0; Console.W..