-
클래스 정리게임 개발 학원/C# 2024. 3. 5. 15:58반응형
필드 : 클래스 안에서 선언된 변수
속성은 필드, 속성의 행동은 메서드
인스턴스 : class를 가지고 실체 객체를 생성산 결과물
static 필드 :
static으로 선언된 필드는 static이라는 메모리 영역에 저장되어 프로그램이 종료될때까지 메모리 상에 남아있음
몇개의 인스턴스를 생성하든 클래스 당 하나의 값을 가짐
static을 사용하는 이유는 인스턴스 간의 값을 공유하기 위해서class main -> 출력결과,
count가 전역적으로 값이 유지x, static을 사용해야함
class에서 public int count; -> public static int count;로 변경 후
공용사용은 static으로 변경
--------------------------------------------------------------------------------------------------------------------------------------------------------
<getter, setter>
- 멤버 변수가 외부 객체와 상호작용하는 경우 get, set 함수를 구현해주는것이 일반적
ㄴ get/set 함수의 접근제한자를 설정해서 외부에서 멤버변수의 접근을 캡슐화this는 내 자신을 가리킴
2번은 set을 하는데 다양한 조건이나 연산이 가능하다, set 함수와 동일 매개변수는 value라고 생각( set 에서 새로운 값을 지정할때 value라는 키워드, 매개변수처럼 사용, value 위치에 새로 지정한값이 위치)
get/set을 단순히 읽고 쓰는 용도로 사용한다면 3번이 적합
set안에 조건이 붙거나 어떤 연산이 이루어지는 거라면 1번이나 2번이 적합----------------------------------------------------------------------------------------------------------------------------------------------------
정보 은닉 원칙
특별한 이유를 제외하고는 필드를 절대적으로 public으로 선언x
접근이 필요할때는 접근자/ 설정자 메서드를 만들어서 외부에서 접근하는 경로를 만들기
메소드 오버라이드 : 필요에 의해서 부모한테 물려받아서 재정의
상속받은 클래스에서 부모클래스의 메서드를 호출 가능
private : 내부에서만 접근을 허용, 개인
public : 내부, 파생클래스(자식클래스), 외부에서도 접근을 허용
portected : 내부, 그리고 내 자식에게만 접근을 허용, 상속관계
상속을 쓰는 이유 : 같은 기능이 있다면 , 부모한테 다 주고 확장성 용이반응형'게임 개발 학원 > C#' 카테고리의 다른 글
객체지향 4대특징 & SOLID (0) 2024.03.06 Abstract, virtual, override, interface (0) 2024.03.06 foreach문, var (0) 2024.03.04 C#형변환 (0) 2024.03.04 데이터 타입, 박싱 & 언박싱 (0) 2024.03.04