C#/클래스와 객체지향

C# 클래스와 객체지향 - 01. 클래스(기본 클래스)

tita 2024. 5. 28. 14:24

[클래스]

 

클래스는 사용자 정의 자료형입니다. 이러한 자료형을 변수로 선언한 것을 인스턴스 또는 객체라고 부릅니다. 그리고 클래스 이름과 같은 메서드(클래스 이름 뒤에 괄호가 붙은 것)를 생성자라고 부릅니다.

Car car = new Car(); 

Car(클래스) car(인스턴스) = new(new 키워드) Car()(생성자);

 

위의 형식으로 사용합니다.

 

 

클래스를 새롭게 만들기 전에 이미 만들어져 있는 클래스에 대해 알아보겠습니다.

 

 

[Random 클래스]

 

Random 클래스를 사용하여 임의의 정수를 생성해보겠습니다.

Random 클래스의 Next() 메서드는 임의의 정수를 생성할 때에 사용합니다.

 

예제를 살펴보겠습니다.

static void Main(string[] args)
{
    Random random = new Random();
    Console.WriteLine(random.Next(10, 100));
    Console.WriteLine(random.Next(10, 100));
    
    // NextDouble() 메서드는 0.0과 1.0 사이의 난수를 반환합니다.
    Console.WriteLine(random.NextDouble());
}

/*
[실행 결과]
18
36
0.17681936184
*/

 

 

 

[List 클래스]

 

Random 클래스만큼 List 클래스 또한 많이 사용됩니다. List 클래스는 크기가 가변적인 배열을 만들 수 있습니다. 

List 클래스는 배열과 유사합니다. 어떤 자료형의 리스트로 선언하게 됩니다. 

C# 에서는 클래스를 선언하라 때 어떤 자료형인지 알려주기 위해 제네릭(Generic)을 사용합니다.

 

제네릭은 클래스 이름 뒤에 <> 괄호로 감싸 적용합니다.

 

리스트를 생성하고 리스트에 요소를 추가하는데는 Add() 메서드를 사용하면 됩니다.

메서드 설명
Add() 매개변수로 넣은 요소를 추가합니다.
Remove() 매개변수로 넣은 요소를 제거합니다.

 

 

 

static void Main(string[] args)
{
    // 변수를 선언합니다.
    List<int> list = new List<int>();
    
    // 리스트에 요소를 추가합니다.
    list.Add(10);
    list.Add(100);
    list.Add(1000);
    list.Add(10000);
    
    // 반복을 수행합니다.
    foreach(var item in list)
    {
        Console.WriteLine("Count : " + list.Count + "\titem : " + item);
    }
    
    
    Console.WriteLine("*******************************");
    // 요소를 제거합니다.
    list.Remove(100);
    
    foreach(var item in list)
    {
        Console.WriteLine("Count : " + list.Count + "\titem : " + item);
    }
}


/*
[실행 결과]
Count : 4	item : 10
Count : 4	item : 100
Count : 4	item : 1000
Count : 4	item : 10000
*******************************
Count : 3	item : 10
Count : 3	item : 1000
Count : 3	item : 10000
*/

 

 

 

 

[Math 클래스]

 

 

Math 클래스는 수학과 관련된 변수 또는 메서드를 제공합니다. 기존의 클래스들은 인스턴스를 만들어서 활용하는 것이 일반적이었지만 Math 클래스는 인스턴스를 만들지 않고 사용합니다.

메서드 이름 설명
Abs(숫자) 절대 값을 구합니다.
Ceiling(숫자) 지정된 숫자보다 크거나 같은 최소 정수를 구합니다.
Floor(숫자) 지정된 숫자보다 적거나 같은 최대 정수를 구합니다.
Max(숫자, 숫자) 두 개의 매개변수 중 큰 값을 구합니다.
Min(숫자, 숫자) 두 개의 매개변수 중 작은 값을 구합니다.
Round(숫자) 반올림합니다.

 

위의 메서드를 사용해보겠습니다.

 

static void Main(string[] args)
{
    Console.WriteLine(Math.Abs(-100));
    Console.WriteLine(Math.Ceiling(10.123));
    Console.WriteLine(Math.Floor(100.009));
    Console.WriteLine(Math.Max(10,200));
    Console.WriteLine(Math.Min(3000, 1));
    Console.WriteLine(Math.Round(9.9));
}

/*
[실행 결과]
100
11
100
200
1
10
*/