[클래스]
클래스는 사용자 정의 자료형입니다. 이러한 자료형을 변수로 선언한 것을 인스턴스 또는 객체라고 부릅니다. 그리고 클래스 이름과 같은 메서드(클래스 이름 뒤에 괄호가 붙은 것)를 생성자라고 부릅니다.
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
*/
'C# > 클래스와 객체지향' 카테고리의 다른 글
C# 클래스와 객체지향 - 06. 접근 제한자 (0) | 2024.05.28 |
---|---|
C# 클래스와 객체지향 - 05. 오버로딩 (0) | 2024.05.28 |
C# 클래스와 객체지향 - 04. 메서드 (0) | 2024.05.28 |
C# 클래스와 객체지향 - 03. 추상화 (0) | 2024.05.28 |
C# 클래스와 객체지향 - 02. 클래스(사용자 정의 자료형) (1) | 2024.05.28 |