C#/C# Basic

C# Class : 클래스 01

HicKee 2022. 12. 15. 09:48

클래스 (객체) 생성

-- Student 클래스 생성

-- new Student(); 에서 인스턴스가 생성된다

Student(타입) st(변수)= new Student();

new를 사용하면 객체 덩어리(인스턴스)가 만들어짐 -- heap(힙)에 할당됨
인스턴스 안에 있는 변수 -> 인스턴스 변수, 인스턴스 안에 있는 메서드 -> 인스턴스 메서드
st가 만들어진 객체를 참조한다

Student st= new Student(); //new Student();
Student st1 = new Student();
Student st2 = new Student();

주의!!

두 개가 다르다 (객체가 다름)
new 키워드로 생성된 객체는 다 다른 객체이다

생성자

new 다음에 오는 Student();  <  생성자 (메서드) 클래스와 철자가 같아야 함
Student() : 기본 생성자 -- ()가 비어 있음, 매개변수가 없음
기본 생성자인 경우 생략하면 컴파일러가 자동으로 생성함

Student st2= new Student(); -- 기본 생성자
Student st3= new Student(1000,"김길동",50,"대구시"); -- 매개변수가 있는 생성자

캡슐화

-- 데이터와, 데이터를 처리하는 행위를 묶고, 외부에는 그 행위를 보여주지 않는 것.

-- 클래스 변수에 private을 쓰면 바로 접근을 못한다

st.id = 1111;
st.name = "홍길동";
st.age = 20;
st.addr = "서울시";
Console.WriteLine("아이디 :" + st.id);
Console.WriteLine("이름 :" + st.name);

위와 같은 방법으로 쓰는 것은 지양한다. 아래처럼 Setter, Getter를 사용하여 접근한다

st.setId(1111);
st.setName("홍길동");
st.setAge(20);
st.setAddr("서울시");

static 변수, 메서드는 클래스 변수를 사용하지 않고 클래스 명으로 접근이 가능하다

Console.WriteLine("학교 : " + Student.gerSchool());

 

'C# > C# Basic' 카테고리의 다른 글

C# Class : 클래스 Singleton  (0) 2022.12.18
C# Class : 클래스 02  (0) 2022.12.16
C# Queue : 큐  (0) 2022.12.12
C# Stack : 스택  (0) 2022.12.10
C# Method : 메서드  (0) 2022.12.09