객체 지향 프로그래밍: 프로그래밍에서 필요한 데이터를 추상화 시켜 상태와 행위를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법입니다.
- 캡슐화: 관련된 데이터와 기능을 하나의 단위로 묶는것을 의미합니다.
- 상속: 기존의 클래스를 확장하여 새로운 클래스를 만듭니다. 상위 클래스의 특성과 동작을
하위클래스가 상속받아 사용할 수 있습니다.- 다형성: 하나의 인터페이스나 기능을 다양한 방식으로 구현하거나 사용할 수 있는 능력입니다.
- 추상화: 복잡한 시스템이나 개념을 단순화하여 필요한기능에 집중하는것을 뜻합니다.
- 객체: 클래스로부터 생성된 실체로,데이터와 해당 데이터를 조작하는 메서드를 가지고있습니다.
- 필드: 클래스에서 사용되는 변수. 객체의 상태를 나타내는 데이터를 저장하기 위해 사용합니다.
- 메서드: 클래스에서 수행되는 동작을 정의합니다. 객체의 동작을 구현하는데 사용합니다.
- 생성자: 객체를 초기화 하는 역할을 합니다. 객체가 생성될때 자동으로 호출되고 필드를 초기화할수있습니다.
- 소멸자: 객체가 소멸될때 호출되는 메서드로 메모리나 리소스 해제등의 작업을 수행합니다.
-클래스는 객체를 생성하기 위한 설계도 역할을 합니다.
-클래스는 속성과 동작을 가집니다. 속성은 필드로, 동작은 메서드로 표현합니다.
-객체를 생성하기 위해서는 클래스로 인스턴트를 만들어야합니다.
-객체는 클래스의 인스턴스입니다.
-객체는 클래스로부터 생성되고 각각의 객체들은 고유한 데이터를 가질수있습니다.
클래스의 예시
public class 클래스명
{
// 코드
}
메서드의 예시
public class 클래스명
{
public void 메서드명()
{
// 실행될 코드
}
}
여기서 나오는 public은 접근제한자중 하나로, 외부에서 자유롭게 접근가능하다는 특성을 갖고있다.
private: 같은 클래스 내부에서만 접근이 가능
protected: 같은 클래스와 상속받은 클래스에서만 접근이 가능
소멸자
~Person()
{
Console.WriteLine("Person 객체 소멸");
}
앞에 ~를 붙여서 객체가 소멸되는 시점에서 자동적으로 호출되는 특별한 메서드입니다.
프로퍼티
[접근 제한자] [데이터 타입] 프로퍼티 이름
{
get
{
// 필드를 반환하거나 다른 로직 수행
}
set
{
// 필드에 값을 설정하거나 다른 로직 수행
}
}
- 프로퍼티는 get과 set 접근자를 사용하여 값을 읽고 설정하는 동작을 정의합니다.
- get 접근자는 프로퍼티의 값을 반환하고, set 접근자는 프로퍼티의 값을 설정합니다.
- 필요에 따라 get 또는 set 접근자 중 하나를 생략하여 읽기 전용 또는 쓰기 전용 프로퍼티를 정의할 수 있습니다.