분류 전체보기

    [C# / 객체지향] 4. 정적(Static) 멤버

    객체지향 - 정적(Static) 멤버 정적 멤버를 설명하기 위해서는 먼저 인스턴스 멤버를 이해해야 한다. new 연산자를 통해 어떤 타입의 객체를 생성하면 그 객체는 인스턴스가 된다. 저번 포스팅에서의 예제를 가져와보자. Car mycar = new Car("가솔린", "방탄 유리"); 여기서 mycar는 new 연산자를 거쳤으므로 인스턴스가 된다. 인스턴스 멤버는, Car 클래스 내부에서 정의된 메서드와 필드를 가리킨다. 즉, 인스턴스 멤버는 인스턴스 필드와 인스턴스 메서드로 구성된다. 인스턴스 멤버가 new 연산자를 거쳐 메모리에 할당된 것들이라면, 정적 멤버는 new 연산자를 거치지 않을 것이다. 즉 new 연산자를 거치지 않고도 이미 메모리에 상주해 있는 멤버들을 가리켜 정적 멤버라고 하는 것이다..

    [C# / 객체지향] 3. 추상화와 클래스(Class)

    객체지향 - 추상화와 클래스(Class) 추상화는 클래스를 통해 실현된다고 했다. 그렇다면 클래스는 무엇일까 클래스는 추상화된 현실의 객체/개념을 잘 따라야 한다. 우선 클래스는 필드와 메서드로 이루어져 있다. 또한 클래스는 타입을 만드는데, 그래서 이렇게 설명할 수 있다. 필드는 어떤 타입의 속성이고, 메서드는 어떤 타입의 행동이다. class Car { } 클래스를 통해 Car 라는 타입을 만들었다. 자동차가 어떤 속성들을 가지고 있는지 생각해보자. (추상화해보자) 엔진, 문, 바퀴, 창문, 의자, 핸들, 브레이크, 엑셀,,, 등 매우 많다. 여기서는 엔진과 창문만 구현해보자. 일단 엔진과 창문 필드를 추가한다. class Car { string engine; string window; } 엔진과 창..

    [C# / 객체지향] 2. 추상화는 무엇일까

    객체지향 - 추상화는 무엇일까 추상화는 클래스라는 기능을 통해 구현된다. 내가 프로그램 상에서 자동차라는 객체를 만들어보고 싶다면 어떻게 해야 할까? class Car { } 이렇게 클래스를 하나 만들면 된다. 이때 자동차는 Car 라는 클래스로 추상화 되었다. 추상화의 힘으로, Car.move() 라는 명령어를 우리가 듣는 순간 우리는 자동차가 움직이는 것을 상상하게 된다. 추상화는 일관성이 있어야 한다. 또 현실을 추상화한 것이기 때문에 현실에서도 없는 것을 구현하기는 어렵다. 가령 Car.eat() 이라는 명령어는 듣는다고 해도 이해가 잘 가지 않을 것이다.

    [C#] FQDN 을 알아보자.

    [C#] FQDN 을 알아보자.

    FQDN 을 알아보자. FQDN 은 Fully Qualified Domain Name 의 약자이다. 그냥 전체 이름이라고 알고 있으면 된다. 분야마다 FQDN이 의미하는 바가 다르지만, 적어도 c#에서는 네임스페이스와 클래스를 포함한 이름을 말한다. 예를 들어 Book 클래스로부터 정의된 인스턴스 book이 있다고 가정하자. 그리고 Book 클래스는 네임스페이스 Stuff 에 속한다고 하면, 인스턴스 book의 FQDN은 Stuff.Book 이 된다. 예제를 통해 확인해보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 using System; using Stuff; namespace example { class Program { static vo..

    [C#] ToString() 메서드의 기능

    [C#] ToString() 메서드의 기능

    ToString() 메서드의 기능 보통 ToString() 메서드는 숫자 값을 문자열 값으로 변환할 때 사용한다. 그러나 그런 기능만 있는 것은 아니다. 다음 예제를 통해 ToString() 이 어떻게 쓰이는지 살펴보자. 1 2 3 4 5 6 7 8 9 10 11 12 13 using System; namespace example { class Program { static void Main(string[] args) { Program program = new Program(); Console.WriteLine(program.ToString()); } } } http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decorati..

    [C# / 객체지향] 1. 객체지향 살펴보기

    객체지향 살펴보기 객체 지향이 가지고 있는 대표적인 특성들과 반드시 지켜야 하는 원칙들이 있다. 1. 추상화 2. 캡슐화 (정보 은닉) 3. 상속 4. 다형성 1. 단일 책임 원칙 (Single Responsibility Principle) 2. 개방 폐쇠 원칙 (Open-Closed Principle) 3. 리스코프 치환 원칙 (Liskov Substitution Principle) 4. 인터페이스 분리 원칙 (Interface Segregation Principle) 5. 의존성 역전 원칙 (Dependency Inversion Principle) 이제부터 하나하나 알아가보자.

    [C#] Convert.ToString(object) 와 object.ToString()의 차이

    [C#] Convert.ToString(object) 와 object.ToString()의 차이

    Convert.ToString(object) 와 object.ToString()의 차이 c#을 쓰다 보면, 정수형을 문자열로 바꿔서 표현할 일이 많다. 그때마다 나는 위의 두가지 방법들 중 .ToString()을 더 많이 사용한다. 왜냐면 더 짧으니까... 그렇다면 전자의 Convert.ToString() 은 .ToString() 과 어떤 점에서 차이가 있을까? 결론부터 말하자면 차이가 없다! 뭘 쓰든, 숫자 값은 문자열로 잘 변환이 된다. 다만 단순히 값을 문자열로 변환하려는 목적이 아닌 경우 쓰임새가 조금 다르긴 하다. 이것은 이 포스팅을 참고하자 : 2019/12/10 - [프로그래밍/c#] - [C#] ToString() 메서드의 기능 [C#] ToString() 메서드의 기능 ToString()..