2.1 거리 환산 프로그램
- ft -> m 으로 환산하여 출력하는 DistanceConverter프로그램을 만들어야합니다.2.1.1 첫 버전
1 ft = 0.3048 m 2 ft = 0.6096 m 3 ft = 0.9144 m 4 ft = 1.2192 m 5 ft = 1.5240 m ...
DistanceConverter 첫 버전
- 1~10 feet를 meter로 환산해서 출력해주는 프로그램입니다.
{1:0.0000}
에서 0.0000은 소수 4번째 자리까지 표시하는 포맷 설정입니다.class Program { static void Main(string[] args) { for(int feet = 1; feet <= 10; feet++) { double meter = feet * 0.3048; Console.WriteLine("{0} ft = {1:0.0000} m", feet, meter); } } }
2.1.2 메서드로 독립시킨다.
- DistanceConverter메서드를 생성하여 재사용성을 높일 수 있습니다.
class Program
{
static void Main(string[] args)
{
for(int feet = 1; feet <= 10; feet++)
{
double meter = DistanceConverter(feet);
Console.WriteLine("{0} ft = {1:0.0000} m", feet, meter);
}
}
static double DistanceConverter(int feet)
{
return (feet * 0.3048);
}
}
2.1.7 정적 메서드
- 인스턴스 속성 혹은 인스턴스 필드를 이용하지 않는 메서드는 정적 메서드로 만들 수 있습니다.
- FromMeter 메서드에
static
키워드 사용하여 정적 메서드로 만들었습니다.- DistanceConverter 인스턴스 생성이 필요하지 않습니다.
- FromFeet 메서드는 정적 메서드가 아니기 때문에 호출하려면 DistanceConver 인스턴스를 생성 후, 인스턴스에서 호출 할 수 있습니다.
정적 메서드 이용해서 출력하기
class Program
{
static void Main(string[] args)
{
double ret;
for (int feet = 1; feet <= 10; feet++)
{
ret = DistanceConverter.FromMeter(feet);
Console.WriteLine($"{feet} ft = {ret} m");
}
Console.ReadKey();
}
}
public class DistanceConverter
{
public static double FromMeter(int num)
{
return (num * 0.3048);
}
public double FromFeet(int num)
{
return num / 0.3048;
}
}
2.1.8 정적 클래스
- 클래스 안에 있는 모든 멤버가 정적 멤버일 경우 클래스를 정적 클래스로 지정하는 방법이 있습니다.
AS-IS
예제에서 모든 멤버가 정적 멤버입니다.TO-BE
예제에서 클래스를 정적 클래스로 만들어주면 메서드에static
키워드 없이 AS-IS와 동일하게 모든 멤버를 사용할 수 있습니다.
AS-IS
public class DistanceConverter
{
public static double FromMeter(int num)
{
return (num * 0.3048);
}
public static double FromFeet(int num)
{
return num / 0.3048;
}
}
TO-BE
public static class DistanceConverter
{
public double FromMeter(int num)
{
return (num * 0.3048);
}
public double FromFeet(int num)
{
return num / 0.3048;
}
}
2.1.9 상수 정의
const 키워드
- 변수 값을 고정할 때 사용합니다.
- const로 지정한 상수느 public으로 지정하지 않는 것이 좋습니다.
- public으로 지정해서 다른 클래스가 접근할 수 있게 한 경우에는 const 대신 static readonly 사용을 권장합니다.
const 사용 예제
private const double ratio = 0.3048;
프랙티컬 C# 본문 발췌
'프로그래밍 > (도서)프랙티컬 C#' 카테고리의 다른 글
[C#] 프랙티컬 C# - 3.1 람다식 (0) | 2022.03.31 |
---|---|
[C#] 프랙티컬 C# - 2.2 매출 계산 프로그램 (0) | 2022.03.31 |
[C#] 프랙티컬 C# - 1. 객체지향 프로그래밍 기초 (0) | 2022.03.31 |