c classes objects
이 자습서에서는 C # 클래스 및 개체에 대해 설명합니다. 예제를 통해 C # 클래스 멤버, 기본 클래스, 메서드, 매개 변수 및 매개 변수 유형에 대해 학습합니다.
C #의 데이터 형식 변환은 이전 자습서에서 자세히 설명했습니다. 이 자습서에서는 C #의 클래스 및 개체에 대한 모든 것을 자세히 살펴 봅니다.
대부분의 개체 지향 프로그래밍 언어와 유사하게 C #에는 클래스 및 개체에 대한 지원이 내장되어 있습니다.
학습 내용 :
YouTube 재생 목록에서 모든 비디오 다운로드
C #의 클래스 및 개체
프로그래밍 언어의 개체는 실제 개체와 유사합니다. 객체 지향 프로그래밍은 프로그램 개발 및 유지 관리를 단순화하기 위해 클래스 및 객체 세트를 사용하여 프로그램을 설계하는 개념입니다.
클래스는 비슷한 종류의 객체의 논리적 모음입니다. C #에서 가장 기본적인 유형 중 하나입니다. 기본적으로 메서드, 함수 및 필드의 조합 인 데이터 구조입니다. 동적 인스턴스, 즉 클래스에 대해 생성해야하는 객체에 대한 정의를 제공합니다.
예를 들어 응용 프로그램에서 학생에 대한 데이터를 수집하는 경우. 롤 번호, 클래스, 섹션, 과목 등과 같은 학생의 여러 속성이있을 수 있습니다. 이러한 속성 각각은 학생 클래스의 속성이라고 할 수 있으며 학생은 이러한 모든 속성의 모음으로 간주 될 수 있습니다.
따라서 여기서 클래스는 학생을 나타냅니다. 즉, 객체 및 학생 속성 / 속성의 컬렉션을 객체라고 할 수 있습니다. 다음 주제에서 이에 대해 자세히 연구 할 것입니다.
C #의 클래스는 무엇입니까?
클래스 선언을 사용하여 클래스를 만듭니다. 클래스 선언은 속성, 수정 자, 클래스 이름 등을 나타내는 헤더로 시작합니다. 선언 뒤에는 중괄호 '{'및 '}'사이에 멤버 정의가 포함 된 클래스 본문이옵니다.
클래스는 메서드를 가질 수도 있습니다. 메서드는 클래스 내에서 수행 할 수있는 작업을 정의합니다.
마크의 단순 합산을 수행하는 작업을 만들어 보겠습니다. 이를 수행하기 위해 클래스 내부에 메인 메소드를 생성합니다.
위 코드 스 니펫에서 무엇을 했습니까?
“학생”이라는 이름의 클래스를 만들었습니다. 그런 다음 다른 값을 가진 데이터 변수를 만들었습니다. 그런 다음 두 주제의 점수 합계를 저장하는 'total_marks'정수 변수를 만들었습니다.
개체 및 클래스 인스턴스
때로는 클래스와 객체라는 용어가 같은 의미로 사용되지만 둘 다 다른 엔티티입니다. 클래스는 객체의 정의이지만 객체 자체는 아닙니다. 객체는 클래스의 인스턴스라고도합니다. 클래스 인스턴스는 'new'연산자를 사용하여 생성됩니다. new 연산자는 인스턴스에 메모리를 할당하고 생성자를 호출하여 초기화하고 참조 객체를 반환합니다.
예를 들어학생을위한 인스턴스를 만들고 싶다면
Student stu = new Student();
여기에서 'Student'클래스의 인스턴스를 만들고 'stu'를 참조 개체로 정의했습니다.
클래스 멤버
클래스의 멤버는 정적 또는 인스턴스 유형일 수 있습니다. 인스턴스 멤버는 개체의 일부인 반면 정적 멤버는 클래스의 일부입니다.
반원 중 일부를 살펴 보겠습니다.
- 필드: 클래스 내에 존재하는 변수를 필드라고합니다.
- 상수 : 클래스 내에 존재하는 상수 값.
- 행동 양식: 클래스에서 수행하는 논리적 작업입니다.
- 생성자 : 클래스 또는 클래스의 인스턴스를 초기화하는 데 필요합니다.
기본 클래스는 무엇입니까?
기본 클래스는 다른 클래스를 만들거나 파생하는 데 사용되는 클래스입니다. 기본 클래스에서 파생 된 클래스를 하위 클래스 또는 파생 클래스라고합니다. 기본 클래스는 다른 클래스를 상속하지 않지만 기본 클래스에서 파생 된 클래스는 기본 클래스에서 모든 데이터와 동작을받습니다.
기본 클래스는 키워드 class 다음에 클래스 이름 및 유형 매개 변수와 콜론, 기본 클래스를 사용하여 지정할 수 있습니다.
따라서 위 프로그램에서 파생 클래스 Student는 기본 클래스 즉 ClassName의 개체와 속성을 상속했습니다. 파생 클래스에는 기본 클래스의 모든 멤버가 암시 적으로 포함되어 있으므로 인스턴스를 만들지 않고도 기본 클래스에서 'className'변수를 인쇄 할 수있었습니다.
SQL 주입을 수동으로 테스트하는 방법
다음 자습서에서 상속에 대해 자세히 설명합니다.
행동 양식
메서드는 개체 또는 클래스에서 수행 할 논리 또는 계산 작업을 구현하는 클래스의 구성원입니다. 정의 된 경우 정적 메서드는 클래스를 통해 액세스되고 모든 인스턴스 메서드는 클래스의 인스턴스를 사용하여 액세스됩니다.
메서드에는 메서드에 전달되는 변수 참조를 나타내는 매개 변수도 포함될 수 있습니다. 메서드에는 반환 될 수있는 메서드의 계산 최종 제품 / 값을 나타내는 반환 유형도 포함될 수 있습니다.
메서드로 작업하는 동안 기억해야 할 몇 가지 사항은 다음과 같습니다.
- 메서드가 값을 반환하지 않는 경우 반환 유형은 void 여야합니다.
- 메서드의 서명 또는 이름은 클래스 내에서 고유해야합니다. 메소드의 서명은 매개 변수의 매개 변수, 수정 자 및 데이터 유형과 함께 메소드의 이름을 의미합니다.
매개 변수는 무엇입니까?
매개 변수는 메소드에 전달되는 값 또는 참조 변수입니다. 매개 변수는 특정 메소드를 호출하는 동안 지정된 인수에서 값을받습니다.
다양한 유형의 매개 변수는 다음과 같습니다.
- 참조 매개 변수
- 값 매개 변수
- 출력 매개 변수
- 배열 매개 변수
대부분의 예제에서는 참조 유형 또는 값 유형을 사용합니다.
자세히 살펴 보겠습니다.
에 참조 매개 변수 참조를 통해 인수를 전달할 때 사용됩니다. 즉, 메서드에 매개 변수로 전달되는 인수는 값이있는 변수 여야하며 실행 중에 변수 값의 저장 위치를 나타내야합니다.
그만큼 값 매개 변수 입력 값을 인수에 전달하는 데 사용됩니다. value 매개 변수는 매개 변수로 전달되는 인수에 초기 값으로 전달되는 지역 변수를 참조합니다.
다음은 Class, Object, Methods 및 Parameters를 더 잘 이해하기위한 예제입니다.
위 코드 스 니펫에서 무엇을 했습니까?
위의 코드 스 니펫에서는“Marks”와“Student”라는 두 가지 클래스를 정의했습니다. 일류 마크에는 'marksRecieved'메소드가 포함되어 있습니다. 이 방법에서는 키워드 'ref'로 표시된 '참조 매개 변수'를 전달했습니다. 이 방법에서는 얻은 두 마크의 간단한 합계를 수행 한 다음 결과를 콘솔에 인쇄했습니다.
다음으로 Marks 클래스에서 메서드를 호출 할 기본 메서드가 포함 된 Student 클래스가 있습니다. 메서드를 호출하기 전에 Marks 클래스의 인스턴스를 만들어야합니다.
Marks m = new Marks();
클래스에 대한 인스턴스를 만든 후에는이 인스턴스를 사용하여 이전 클래스에있는 모든 메서드를 호출 할 수 있습니다. 메서드에서 참조 매개 변수를 선언 했으므로 참조 변수를 전달해야합니다. 이를 위해 선언 된 객체와 점, 클래스 인스턴스에서 액세스하려는 메서드의 이름을 차례로 사용합니다.
매개 변수는 메소드 이름 바로 뒤에 배치되는 대괄호 안에 전달됩니다. 세미콜론은 선의 끝을 나타 내기 위해 끝에 배치됩니다.
m.marksRecieved(ref english, ref maths);
결론
클래스는 사용자 정의 데이터 유형의 청사진입니다. 유사한 개체를 함께 그룹화하는 데 사용됩니다. 객체는 데이터와 기능을 정의하는 엔티티입니다. 객체는 런타임 엔티티이며 클래스의 모든 멤버에 액세스하기 위해 생성됩니다.
새 클래스는 'class'키워드로 시작하고 그 뒤에 클래스 이름이 오는 클래스 선언을 사용하여 선언됩니다. 또한 클래스의 수정 자 또는 속성을 지정할 수 있습니다. 클래스의 모든 멤버는 두 개의 중괄호 '{'및 '}'사이에 선언됩니다.
객체의 인스턴스는 'new'연산자를 사용하여 생성됩니다. 인스턴스가 생성되는 클래스 이름과 인스턴스의 참조를 저장하는 변수, '='는 부호와 같고 'new'키워드, 다시 다음과 같은 클래스 이름을 사용하여 표시됩니다. 열리고 닫힌 대괄호 '()'.
샘플 코드 :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections; namespace ConsoleApplication4 { class Marks { public void marksRecieved(ref int eng, ref int math) { //logical operations int total = eng + math; Console.WriteLine('Total mark is' + ' ' + total); Console.ReadLine(); } } class Student { public static void Main(string[] args) { /* local variable definition */ int english = 90; int maths = 85; //defining the object for the class marks Marks m = new Marks(); //calling marks total method for calculation m.marksRecieved(ref english, ref maths); } } }
웹 서비스 인터뷰 질문 .net