C#특강 클래스와 객체
객체지향 프로그래밍은 일종의 방법론
필드
변수
데이터를 담아두는 상자
함수 : 일련의 행동을 통해 결과를 반환하는 코드블록
메서드 : 클래스의 인스턴스가 할수 있는 행위를 정의 하는 코드블록. 클래스(혹은 구조체) 내부에 정의된 함수, 클래스 함수
클래스는 설계도
일반적으로 객체가 생성되지 않으면 프로그램에 영향
못미침
클래스의 인스턴스
변수 생성해서 객체 저장후 사용
생성자란?
- 클래스의 인스턴스를 생성할 때 자동으로 호출되는 메서드
- 객체의 초기값을 설정하고
- 처음 생성될 때 실행되어야 하는 작업을 진행시켜줌
소멸자란?
- 클래스의 인스턴스가 사라질 때 호출되는 메서드
- 사라질 때 라면?
- C#에서는 객체의 메모리를 직접 해제하지 않고,
- 가비지 콜렉터(GC)가 더는 사용되지 않는 객체를 수집하는 방식으로 메모리를 관리
- 소멸자는 가비지 콜렉터가 객체를 수집할 때 실행
- 가비지 콜렉션이 언제 실행될지는 예측불가
- 소멸자 사용에는 주의
접근수준
캡슐화
- 클래스의 내부 구형을 외부에 감추는 것
- 내부 상태를 보호해 잘못된 접근, 조작을 막음
- 외부에서는 단순하고 안전한 멤버만 접근 가능, 결합도를 낮춰 유지보수를 용이하게 함
오늘은 개인 학습보다 팀 과제에 더 집중을 해서 문제를 해결한 하루였던것 같다.
이번에 담당한 퀘스트 관련된 작업에서 나오는 문제들을 하나씩 검색을 통해 해결하다보니, 막상 개인학습보다 팀과제를 우선시한거 같다. 내일은 팀과제도 팀과제지만 일단 개인학습을 복습을 한번 해야 할거 같다는 생각이 들었다.
상속
부모 클래스의 속성과 메서드를 자식 클래스가 물려받는 기능
사용 이유 : 코드 재사용
유지보수 용이
확장성 : 기존 클래스를 기반으로 새로운 기능을 추가 혹은 변경
오버라이드
부모 클래스에서 정의한 메서드를 자식 클래스에서 재정의하는 것
다형성
같은 이름의 메서드가 상황에 따라 실제로는 다르게 작동하도록 할 수 있는 성질