클래스?

 

사용자 정의 형식

 

객체를 생성하기 위해 변수와 메서드를 정의하는 틀

 

객체?

 

클래스로부터 생성된 메모리에 저장된 값

 

객체는 고유한 속성을 가지며 클래스에서 정의한 기능을 수행

 

 

클래스 정의하는 방법

 

1. class 키워드 적고

2. 고유한 이름 적기

3. 블록의 쌍

ex) class Car {}

 

자동차 이름을 속성으로 정희하는 방법

 

클래스안에 변수를 정의

class Car

{

string name

}

 

자동차 기능을 정의 => 정면으로 이동

 

1. 이름짓기 => MoveForward

2. void 붙여 주기

3. () 붙여주기

4. 불록을 쌍으로 만들기

void MoveForWard()

{

}

 

자동차 클래스 내부에 작성해야 한다.

 

속과 기능이 정의된 자동차 클래스

 

class Car <----자동차 클래스

{

string name; <----자동차 이름을 정의할 변수

void MoveForward() <-------앞으로 이동하게 하는 메서드

{

}

}

 

자동차 객체 만들기

 

new 키워드를 적고

클래스명을 적기

스괄호를 열고 닫기

세미클론을 적어주면 완성

new Car();

 

자동차 객체에 이름 설정하기

 

public을 붙이자 public string name;

 

생성된 자동차 객체를 변수에 할당

Car car = new Car();

 

car변수에 .을 찍어주고 => 클래스 속성 또는 메서드에 접근 할 수 있게 해준다.

속성명을(name => 클래스 내부의 변수) 적어주고

클래스 내부에 정의된 변수에 값 할당 => car.name = "싼타페";

 

생성된 자동차 객체의 이름이 싼타페로 설정됨

Car car = new Car();

car.name = "싼타페";

Console.WriteLine(car.name);

 

 

 

자동차 객체 움직이기

car에 .을 찍고

클래스에 정의된 메서드 호출 => car.MoveForward();

 

 

 

클래스 파일로 생성하기

 

 

클래스는 사용자 정의 형식
객체를 만들고 싶다면 new 키워드 사용
생성된 객체는 값이다
이 값을 인스턴스라고 부른다.

 

맴버 => 맴버 변수 + 맴버 메서드

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Step30
{
    internal class Car
    {
        public string name; //속성, 필드, 맴버 변수

        public void MoveForward() //맴버 메서드
        {
            Console.WriteLine("{0}가 전진합니다.", name);
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Step30
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //Car 인스턴스를 담는 변수 선언
            //변수타입 변수명
            //자동차 (Car)인스턴스를 할당할 예정이므로
            //변수 타입은 Car

            //변수 선언
            Car car;

            //변수에 값 (Car 클래스의 객체(인스턴스)) 할당
            // = 는 같다라는 뜻이 아니라 오른쪽 값을 왼쪽 변수에 할당하는 연산자
            car = new Car();

            //car변수의 name 속성(맴버 변수)에 값 할당
            //자동차 이름 설정하기
            //car 변수 이름을 적고 속성명(name)을 적기
            //다음과 같이 에러 메시지가 보이면 읽기
            //보호 수준 때문에 엑세스 할 수 없다
            //name 속성은 현재 private이기 때문
            //name 속성의 접근 제한자를 public으로 변경하고
            // 값을 할당
            //문자열 값을 할당
            car.name = "싼타페";

            //car 변수에 .을 찍고 클래스에 정의되어 있는
            //메서드 호출
            //보호수준 때문에 엑세스 할 수 없다는 에러 메시지
            //메서드의 접근제한자를 private => public으로 변경
            car.MoveForward();
            //컨트롤 + f5를 눌러 실행

            //새로운 Car객체를 생성하고
            //새 변수에 할당
            Car car2 = new Car();
            //속성을 설정
            car2.name = "쏘렌토";
            //메서드 호출
            car2.MoveForward();
            //실행

            //클래스로부터 생성된 인스턴스는 독립적
        }
    }
}

 

 

'Study > C#' 카테고리의 다른 글

[C#] 맴버변수와 지역변수  (0) 2024.05.29
[C#] 생성자 메서드  (0) 2024.05.29
[C#]메서드 반환타입  (0) 2024.05.28
[C#] 메서드 매개 변수  (0) 2024.05.28
[C#] 메서드 정의 및 호출  (0) 2024.05.28

메서드란?

일련의 문을 포함하는 코드 블록

특정 작업을 수행하기 위한 일련의 명령문이 포함된다.

 

값을 반환할 수 있다.

 

ex)원주율의 값을 반환하는 메서드

https://www.youtube.com/watch?v=Y_SP8FBlr9E&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=29

 

값을 반환하는 메서드라면

반환 값을 변수에 할당할 수 있다.

float pi = GetPi();

 

메서드 반환 타입은 반환 값에 따라 결정된다

 

'Study > C#' 카테고리의 다른 글

[C#] 생성자 메서드  (0) 2024.05.29
[C#] 클래스와 new 연산자  (0) 2024.05.29
[C#] 메서드 매개 변수  (0) 2024.05.28
[C#] 메서드 정의 및 호출  (0) 2024.05.28
[C#] Continue문  (0) 2024.05.27

메서드?

일련의 문을 포함하는 코드 블록

특정 작업을 수행하기 위한 일련의 명령문이 포함된다.

 

메서드를 정의할 때 값을 전달할 수 있다.

 

 

두 수를 더해 출력하는 기능을 하는 메서드

 

1. 이름 짓기

두수를 더해 출력하는 기능이니

동사로 시작하는 이름

=> PrintSum

 

2. 문법에 맞게 기본형으로 적기

void PrintSum()

{

//실행할 명령

}

 

2-2. 매개변수를 만들어 준다.(매개변수가 여러 개 일경우 콤마(,)로 구분

 

void PrintSum(int a, int b)

{

//실행할 명령문

}

 

3. 기능 구현

매개변수 a의 값과 매개변수 b의 값을 더해 출력

void PrintSum(int a, int b)

{

Console.WriteLine(a+7);

}

 

4. 메서드 호출

메서드 호출 시 두 값을 전달

인자가 2개 이상일 경우 콤마(,)로 구분

메서드 내부에서는 매개변수, 외부에서는 인자 또는 인수라고 부른다.

ex) PrintSum(3, 7);

 

인자 또는 인수

메서드 호출 시 전달하려는 값

 

매개변수

전달 된 값을 저장하고 있는 변수

'Study > C#' 카테고리의 다른 글

[C#] 클래스와 new 연산자  (0) 2024.05.29
[C#]메서드 반환타입  (0) 2024.05.28
[C#] 메서드 정의 및 호출  (0) 2024.05.28
[C#] Continue문  (0) 2024.05.27
[C#] break  (0) 2024.05.27

메서드??

일련의 문을 포함하는 코드 블록

 

특정 작업을 수행하기 위한 일련의 명령문이 포함된다

 

문법(syntax)

접근제한자 반환타입 메서드이름()

{

}

 

접근 제한자?

 

메서드에 접근할 수 있도록 public 또는 private등의 접근 수준을 정의

https://www.youtube.com/watch?v=qBshDhSxqHA&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=27

 

반환 타입?

반환 값의 데이터 타입

값을 반환하지 않으면 반환타입을 void로 해야 한다.

 

메서드명 : 식별하기 위한 고유한 이름이어야 한다

 

메서드 정의하기

 

1. 어떤 기능을 실행 할지 생각

 

2. 동사로 시작하는 첫 문자 대문자

 

메서드 정의

void SayHello()

{

     //실행할 명령문

}

 

클래스 내부에 정의해야 한다.




 

 

클래스 내부 Main 메서드 위 또는 아래 상관은 없으나 아래쪽에 선언하자

 

메서드 호출

정의와 기능이 구현되었으면 언제든지 사용 가능

 

 

 

메서드는 코드 중복을 줄여 주고 코드 재사용성을 향상시켜 준다.


'Study > C#' 카테고리의 다른 글

[C#]메서드 반환타입  (0) 2024.05.28
[C#] 메서드 매개 변수  (0) 2024.05.28
[C#] Continue문  (0) 2024.05.27
[C#] break  (0) 2024.05.27
[C#] 반복문 while문  (0) 2024.05.27

continue문?

이 명령문을 둘러싼 반복문의 다음 반복으로 즉시 제어를 전달

 

for문에서 continue문

 

https://www.youtube.com/watch?v=QunYrLC-GBM&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=26

 

https://www.youtube.com/watch?v=QunYrLC-GBM&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=26

 

 

while문에서 continue문

후위 연산자를 잘 보자

 

 

switch문에서 continue문

'Study > C#' 카테고리의 다른 글

[C#] 메서드 매개 변수  (0) 2024.05.28
[C#] 메서드 정의 및 호출  (0) 2024.05.28
[C#] break  (0) 2024.05.27
[C#] 반복문 while문  (0) 2024.05.27
[C#] 반복문 for문  (0) 2024.05.27

break문

 

배치된 시점에서

가장 가까운 바깥쪽 루프 또는 switch 문을 종료

제어는 종료된 문 뒤의 문으로 전달됨(있는 경우)

 

 

for문에서 break;문

https://www.youtube.com/watch?v=3IbXxS6cu6M&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=25

 

이중 for문에서 break문

https://www.youtube.com/watch?v=3IbXxS6cu6M&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=25

 

https://www.youtube.com/watch?v=3IbXxS6cu6M&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=25

 

 

while문에서 break문

 

https://www.youtube.com/watch?v=3IbXxS6cu6M&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=25

 

switch문에서 break문

 

https://www.youtube.com/watch?v=3IbXxS6cu6M&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=25

'Study > C#' 카테고리의 다른 글

[C#] 메서드 정의 및 호출  (0) 2024.05.28
[C#] Continue문  (0) 2024.05.27
[C#] 반복문 while문  (0) 2024.05.27
[C#] 반복문 for문  (0) 2024.05.27
[C#] 선택문 switch  (0) 2024.05.27

while문?

지정된 부울 식이 true로 계산되는 동안 문또는 문 블록을 실행

 

루프를 실행하기 전에 부울 식이 평가되기 때문에

while 루프는 0번 이상 실행된다.

 

 

문법(syntax)

while(부울 식)

{

}

 

 

※for문 과 비슷하게 부울 식이 참인지 확인 후 블록을 실행하는 검토방식 반복

 부울 식이 false이면 반복 종료

 

https://www.youtube.com/watch?v=qhKokHzgTjE&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=24

'Study > C#' 카테고리의 다른 글

[C#] Continue문  (0) 2024.05.27
[C#] break  (0) 2024.05.27
[C#] 반복문 for문  (0) 2024.05.27
[C#] 선택문 switch  (0) 2024.05.27
[C#] 선택문 if문  (0) 2024.05.27

반복문?

 

다음 명령문은 명령문 또는 명령문 블록을 반복적으로 실행

 

for문

지정된 부울 식이 true로 계산되는 동안 문 도는 블록 실행

 

문법

 

for(초기화; 조건; 반복자)

{

}

 

초기화?

루프로 유입되기 전에 한 번만 실행되는 초기화 섹션

선언된 변수는 for문 외부에서  접근할 수 없다.

 

조건?

루프의 다음 반복을 실행할지 여부를 결정

결과가 true이거나 없으면 다음 반복이 실행되고, false면 루프 종료

조건 섹션은 부울 식이어야 한다.

 

반복자?

루프의 본문을 실행할 때마다 수행되는 작업을 정의

반복자 섹션에는 세미클론(;)이 없다.

 

https://www.youtube.com/watch?v=b5TRuFKlNKk&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=23

 

 

 

'Study > C#' 카테고리의 다른 글

[C#] break  (0) 2024.05.27
[C#] 반복문 while문  (0) 2024.05.27
[C#] 선택문 switch  (0) 2024.05.27
[C#] 선택문 if문  (0) 2024.05.27
[C#] 논리 연산  (0) 2024.05.26

switch문?

 

지정된 일치 표현식을 기반으로 조건 중 하나의 코드를 실행

 

 

https://www.youtube.com/watch?v=1PJ3d3vYm64&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=22

 

레이블이란?

 

레이블(Label)은 프로그래밍에서 특정 코드 블록의 위치를 가리키는 이름

이것은 보통 제어문(조건문, 반복문 등) 내에서 사용되며,

해당 위치로 프로그램의 실행을 이동시키는 데 사용된다

 

switch문은 하나 이상의 case 블록 및 기본 블록과 쌍을 이룬다.

https://www.youtube.com/watch?v=1PJ3d3vYm64&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=22

 

일치 표현식 값과 일치하는 값에 대해 case 코드 블록이 실행된다.

 

(즉 , 표현식 값이 case 값과 일치하지 않으면 기본 옵션 코드가 실행된다.)

 

옵션이 여러 개 있을 때 if-else 문 대신 사용 가능

switch 를 사용하면 코드가 깨끗하고 읽기 쉬워 질 수 있다.

https://www.youtube.com/watch?v=1PJ3d3vYm64&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=22

 

break 문은 switch 문을 종료

 

https://www.youtube.com/watch?v=1PJ3d3vYm64&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=22
https://www.youtube.com/watch?v=1PJ3d3vYm64&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=22

 

 

문득 열거형에 대해 다시 생각해보게 되었다.



https://www.youtube.com/watch?v=1PJ3d3vYm64&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=22

'Study > C#' 카테고리의 다른 글

[C#] 반복문 while문  (0) 2024.05.27
[C#] 반복문 for문  (0) 2024.05.27
[C#] 선택문 if문  (0) 2024.05.27
[C#] 논리 연산  (0) 2024.05.26
[C#] 비교 연산  (0) 2024.05.26

문?

프로그램이 수행하는 작업

(코드 한 줄이나 블록)

 

식?

연산자와 피연산로 이루어진 구문

 

부울 식?

부울 식(true, false)인 결과를 생성하도록 평가되는 표현식

 

선택 문?

하나 이상의 지정된 조건에 따라

코드의 다른 섹션으로 분기할 수 있다.

 

선택문의 종류 if, switch

 

if문?

부울 식의 값에 따란 실행할 문을 선택

 

 

부울 식이 거짓일 때

https://www.youtube.com/watch?v=zTfclU77eS4&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=21

 

부울 식이 참일 때

https://www.youtube.com/watch?v=zTfclU77eS4&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=21

 

else if문?

 

if문 뒤에 여러 개의

else if 문을 사용할 수 있다.(if조건이 false일때만 실행)

 

따라서 이 식에는 참인 else if문 만 실행된다.

 

https://www.youtube.com/watch?v=zTfclU77eS4&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=21

 

else문?

if 문 또는 else if 문 뒤에만 올 수 있다.

 

if - else 문에서 한번만 실행

 

조건을 포함할 수 없으며 이전의 모든 조건이 false로 평가될 때 실행

 

https://www.youtube.com/watch?v=zTfclU77eS4&list=PLTFRwWXfOIYBmr3fK17E0VhKPyYrGy75z&index=21

 

 

'Study > C#' 카테고리의 다른 글

[C#] 반복문 for문  (0) 2024.05.27
[C#] 선택문 switch  (0) 2024.05.27
[C#] 논리 연산  (0) 2024.05.26
[C#] 비교 연산  (0) 2024.05.26
[C#] 산술 연산자  (0) 2024.05.26

+ Recent posts