티스토리 뷰
💥 클래스(Class)
- 사전적인 의미로는 '학급'이라는 뜻을 가지고 있다.
- 사용자 정의 데이터타입이다.
- 데이터와 메소드를 사용자인 내가 새로 정의한 데이터타입이기 때문에 클래스를 추상적인 데이터타입이라고 한다.
- 클래스의 본질은 데이터타입(Data Type)이라는 점이다.
- 구조체와 비슷하고, 멤버 변수와 멤버 함수로 구성된다.
💥 클래스의 구성
- 사물의 특성을 정리하여 필드와 메소드로 표현하는 과정이 추상화이다.
- 추상화된 결과를 하나의 클래스에 포함시키고 스스로 보호하는 것이 캡슐화이다.
사물 | 상태(필드) | 행동(메소드) |
사람 | 피부색, 키, 나이, 성별, 이름, ... | 생각한다, 공부한다, 말한다, ... |
차 | 배기량, 차종, 연료의 종류, ... | 달린다, 멈춘다, 짐을 싣는다, ... |
노트북 | CPU, 메모리 크기, 하드디스크 용량, ... | 부팅한다, 충전한다, CD-ROM 읽는다, ... |
💥 클래스의 선언 형식
- 클래스 선언 시, class 키워드를 쓰고 그 뒤에 클래스 이름을 붙인다.
- 클래스의 요소로는 생성자, 멤버 변수, 메소드 등이 있다.
💥 접근 지정자
접근 지정자 | 의미 |
public | 누구나 접근 가능하다. |
protected | 상속 관계에 있을 때, 상속 받은 자식 클래스에서 접근이 가능하다. 그 외에는 접근이 불가능하다. |
internal | 같은 어셈블리(프로젝트) 내의 모든 클래스가 접근 가능하다. |
protected internal | protected와 internal의 의미를 모두 포함한다. |
private | 내 클래스 내부에서만 접근 가능하고, 외부에서는 절대 접근할 수 없다. |
💥 객체의 선언
- 클래스의 본질은 데이터타입이다.
- 데이터타입을 통해 변수를 선언할 수 있다. 변수 선언한다.
- 클래스를 통해 선언한 변수를 객체라고 한다.
Dog a = new Dog();
💥 클래스 실습 해보기( C# )
using System;
class Dog {
private int eyes, nose, mouse, ears;
public void bark(){Console.WriteLine("멍멍");}
}
class HelloWorld {
static void Main() {
Dog a = new Dog();
a.bark();
}
}
- Dog 라는 이름의 class를 만든다.
- 멤버로 4개의 변수(eyes, nose, mouse, ears)와 1개의 메소드(bark())를 만든다.
- 객체를 하나 생성한다.
- 그 객체를 통해서 bark 라는 메소드를 호출한다.
'웹 개발 공부하기' 카테고리의 다른 글
[01.09] 오버로딩과 오버라이딩 (0) | 2025.01.12 |
---|---|
[01.09] 생성자와 상속성 (0) | 2025.01.12 |
[01.09] 객체 지향 프로그래밍 방식 (0) | 2025.01.12 |
[01.09] 동적 메모리 할당 (0) | 2025.01.12 |
[01.09] 공용체, enum (0) | 2025.01.12 |