일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 메소드 정의
- select
- response
- java
- c#상속
- Create
- 메소드 지정자
- 타입이 서로 다른 두 데이터 제네릭
- http
- ForignKey
- 타입 변수 표기법
- WriteLine
- unity 오브젝트
- unity 레이아웃
- static
- unity 간단 설정
- static을 왜사용할까?
- C#
- JDBC
- request
- 요청
- MariaDB
- 데이터베이스
- 평면좌표상에서 두점 거리 구하기
- spring
- @ Builder
- db
- DROP
- final
- Database
- Today
- Total
이론을 싫어!
[c#] 클래스 개념 꽉~ 잡아보자 본문
클래스 개념
- 클래스는 사용자가 직접 만든 틀
- 변수(필드)와 함수(메소드)를 하나의 단위로 결합
- 상속, 다형성, 파생 클래스 클래스의 특수화 메커니즘
정의
1
2
3
4
5
6
7
8
9
|
public class Point
{
public int a, b; // 변수(필드)
public Point() // 메소드 (함수)
{
...
}
}
|
cs |
이렇게 말하게 되면 좀 어렵다. 무슨 소리인지 하나도 모르는 것이다.
여기서 대부분 예를 붕어빵 틀을 가지고 많이 예시를 드는데
비유를 하자면 붕어빵 틀이 제일 간단한 예시이다.
붕어빵 틀 하나로 우리는 붕어빵을 여러개 찍어 낼수 있듯이
클래스가 붕어빵 틀이라고 생각하면 된다.
원하는 모양을 하고 싶은 붕어빵의 틀을 만드는 것이 클래스라고 생각하면 될것이다.
new 키워드
- 클래스의 객체 생성
선언)
1
2
|
클래스명 객체명 = new 생성자
ex)AA aa=new AA();
|
cs |
예시)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
class 계산기 // 클래스
{
public int a, b; // 필드
public void Sum() // 메소드
{
Console.WriteLine("a + b = " + (a + b));
}
}
public class Class1
{
static void Main(string[] args) // main
{
계산기 계산기1 = new 계산기();
계산기1.a = 100;
계산기1.b = 200;
계산기1.Sum();
}
}
|
cs |
계산기 클래스를 만든뒤 그 클래스안에 필드 메소드를 넣어서 프로그램을 실행시킨 코드이다.
(한국어 로 클래스 적어도 실행은 되지만 원래 국룰은 영어로 적어야한다. )
조금 설명을 하자면 계산기 중 a값과 b의 값을 더해서 결과값을 알려주는 틀(클래스)이다.
여기서 필드를 선언해주는데 만약에 여기서 접근지정자를 설정해주지 않는다면
자동으로 그 필드는 private 이 된다. 이점에 주의해야할것이다.
그리고 난뒤에 Sum()의 메소드를 볼수 있는데 여기서 void라고 적으면 반환값이 없다는 뜻을 가지고
int 나 double 등등의 자료형이 있다면 그 해당되는 자료형으로 return을 해주어야한다.
그리고 main의 메소드를 보게 되면
계산기 계산기1 =new 계산기(); 라고 객체를 생성을 했다.
이렇게 되면 계산기1이라는 이름을 가진 계산기 객체가 호출 즉, 계산기 클래스를 불러오겠다는 뜻이다.
그리고 거기에 a의 값과 b의 값을 각각 넣어준 뒤 Sum()이라는 메소드를 호출하면 해당되는 값이 나온다.
'C#' 카테고리의 다른 글
[C#] 클래스 상속 (0) | 2023.05.07 |
---|---|
[C#]this 키워드와 static 키워드 (0) | 2023.05.02 |
[C#] 생성자와 소멸자 (0) | 2023.05.02 |
[C#]c#언어를 프로그램으로 코드 익히기(간단한 성적 프로그램 만들기) (0) | 2023.04.10 |