클래스

    [C#] C#과 OOP(Object-Oriented Programming) - 2. 클래스 라이브러리 (Class library)

    [C#] C#과 OOP(Object-Oriented Programming) - 2. 클래스 라이브러리 (Class library)

    2. 클래스 라이브러리 (Class library) 클래스 라이브러리는 대게 독립적으로 실행될 수 있는 Application보다는 다른 Application에서 기능을 활용할 수 있는 DLL과 같은 형태로 배포되는데 .NET이 가장 대표적인 '클래스 라이브러리'의 모음이라고 할 수 있습니다. Visual Studio Code를 사용하는 경우 프로젝트를 '클래스 라이브러리'형태로 생성하려면 'classlib'옵션을 사용해 프로젝트를 생성해야 합니다. dotnet new classlib -o mylibrary 예제에서 프로젝트의 이름은 'mylibrary'로 하였습니다. 프로젝트를 생성한 뒤 프로젝트의 *.csproj파일을 보면 net6.0 enable enable TargetFramework가 net6.0..

    [C#] 클래스(Class)

    [C#] 클래스(Class)

    C#은 객체지향 프로그래밍(Object Oriented Programming) 언어이고 객체지향 프로그래밍은 프로그램의 처리 대상이 되는 모든 것을 객체(Object)로서 표현합니다. 예컨대 '자동차'라는 대상을 객체로 표현한다면 '달리다.', '멈추다.'등과 같은 대상의 동작을 메서드(Method)로, '색상', '속도', '배기량'같은 대상의 특징을 속성(Property)으로 추출해 표현하면 그것이 객체가 됩니다. 클래스(Class)라는 건 이 객체를 생성하기 위한 틀을 말하는 것인데 객체를 표현하기 위해 어떤 속성과 메서드가 필요한지를 판단하고 그것을 '클래스'로 정의합니다. 객체를 만들어 내기 위한 설계도 같은 것으로 클래스로부터 객체(객체를 인스턴스(Instance)라고도 합니다.)를 생성하고 ..

    [javascript] 클래스(Class)

    Javascript에서도 Class는 Prototype을 사용하던 이전방식에서 벗어나 좀 더 깔끔하게 코드가 만들어질 수 있도록 해줍니다. class Car { constructor(speed) { this.speed = speed; } currentSpeed() { return this.speed; } stop() { this.speed = 0; } static acc(speed) { return this.speed + speed; } }; var car = new Car(100); car.stop(); 기존에는 prototype을 통해 함수를 정의하고 직접 속성에 메서드를 할당하는 방식을 따랐지만 필요한 함수는 함수그대로 정의하고 정적 함수의 경우 static을 붙여주는 것만으로 끝낼 수 있습니다. ..

    [javascript] 생성자 함수

    1. 개요 생성자 함수는 객체를 만들 때 사용하는 함수라고 말할 수 있습니다. 일반적인 프로그래밍에서 클래스와 비슷한 개념(클래스는 밑에서 별도로 언급하겠습니다.)을 가지고 있습니다. function MyCar(name, color, number) { this.name = name; this.color = color; this.number = number; } var mc = new MyCar('승용차', '파란색', '1234'); 생성자 함수는 일반 함수와 구조가 동일하지만 내부에서 사용할 속성 등은 this키워드를 통해서 구분해줘야 합니다. 예제에서는 MyCar라는 생성자 함수를 통해 mc라는 인스턴스를 생성하였습니다. 생성자 함수의 인스턴스 개체를 생성할때는 new키워드를 사용하며 이는 개체의 개..