클래스 (객체) 생성
-- 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 |