class

클래스는 객체 지향 프로그래밍에서 가장 중요한 개념 중 하나로 데이터와 해당 데이터를 다루는 메서드를 하나의 단위로 묶어서 정의한 사용자 정의 데이터 형식이다. C#에서는 기능들의 단위가 클래스로 만들이 지고 사용된다.

 

class는 일반적으로 클래스 멤버로 프로퍼티, 메서드, 이벤트, 인덱서, 생성자, 중첩 클래스 등을 포함할 수 있으며 클래스를 정의함으로써 해당 클래스를 사용해요 객체를 생성할 수 있다. 

 

class MyClass {
    // 클래스 멤버 정의
    private int myField;
    public void MyMethod() {
        // 메서드 구현
    }
}
.
.
.

MyClass myObject = new MyClass();

MyClass는 class의 이름이며 myField와 MyMethod는 클래스의 멤버이다.

myField는 private 접근 제한자를 가지고 있어 클래스 내부에서만 접근이 가능하다. myMethod는 public 접근 제한자로 클래스 외부에서도 해당 클래스의 객체를 통해서 메서드를 호출할 수 있다.

 

myObject는 인스턴스화된 MyClass 객체이다.

클래스명을 타입으로 사용하여 변수를 선언하고 new를 통해서 해당 클래스의 객체를 생성해 할당한다.

myObject 변수를 사용하여 클래스의 멤버에 접근하여 사용할 수 있게된다.

 

 

728x90
반응형

decimal

부동 소수점과 다르게 고정 소수점 숫자를 나타내는 자료형이다. 정확한 소수점 계산이 필요한 금융, 세금, 계산 등과 같은 분야에서는 decimal을 자주 사용한다.

 

최대 28자리의 숫자를 나타낼 수 있으며 부호, 정수, 소수점, 소수점 이하 자릿수를 나타내는 4바이트 정수형 정수부와 소수부를 나타내는 4바이트 정수형 소수부 그리고 소수점 위치를 나타내는 4바이트 정수형 지수부 등으로 구성된다.

 

decimal balance = 100.50m;
decimal withdrawalAmount = 20.25m;
decimal newBalance = balance - withdrawalAmount;
Console.WriteLine($"New balance : {newBalance:C}");
// balance : 기존 잔액
// withdrawalanceAmount : 출금액
// newBalance : 출금 후 잔액

// New balance: $80.25 출력

decimal을 사용할 때는 m으로 끝나는 접미사를 사용해서 변수를 선언해야 한다.

 

소수점 자릿수가 다른 경우의 계산에서는 더 적은 숫자와 같은 자릿수로 맞춘 후 계산이 된다.

 

decimal d1 = 100.123m;
decimal d2 = 10.1m;

// d1 + d2 = 110.223m

만약 자릿수를 맞추어도 계산이 불가능한 경우에는 OverflowException이 발생한다. 따라서 숫자를 계산할 때는 소수점 자릿수를 유의하여 맞추는 것이 좋다.

728x90
반응형

bool

영국의 수학자 겸 논리학자인 조지 불의 이름에서 유래되었다.

bool은 참과 거짓의 값을 저장하는 변수타입으로 논리 자료형이라고도 한다.

 

프로그래밍 언어마다 다르지만 true, false는 정수형 1, 0과도 대응된다.

조건문과 논리 연산자 등에서 많이 사용된다.

 

조건문

bool isDone = true;
if (isDone)
{
	Console.WriteLine("작업 완료");
}

 

논리 연산자

&& (and) : 좌항과 우항이 모두 true일 때 true를 반환한다.

||(or) : 좌항과 우항 중 하나라도 true이면 true를 반환한다.

!(not) : 피연산자의 값을 반대로 반환한다.

 

int x = 10;
bool b1 = ( x > 5 ) && ( x < 20 );	// b1 == true
bool b2 = ( x < 0 ) || ( x > 100 );	// b2 == true
bool b3 = !(x == 10);	// b3 == false

 

bool 타입의 가장 흔하게 사용하는 방식으로 토글이 있다.

 

isDone = !isDone;

 

해당 코드가 실행되면 isDone은 언제나 현재 값의 반대 값을 가지게 되며 이 코드를 통해서 true와 false를 번갈아 가지는 토글 기능을 갖게 된다.

728x90
반응형

+ Recent posts