객체 지향 프로그래밍의 필요 이유 먼저 이해하기
도서관리 , 회원관리 프로그램 등
클래스는 (의미있는) 데이터를 묶음으로 만들려는 것이다 --(모델링)--> 상태정보를 담는 바구니
클래스/구조체를 사용하는 이유 2가지
1. 사용하려는 모델의 설계
DTO/VO : 관련 데이터를 한 곳에 담는 역할
DAO : 데이터 처리(비즈니스 로직)
Helper Object : 유틸리티
2. 애플이 미리 설계해 놓은 클래스/구조체를 잘 사용하기 위함
언제 클래스 / 구조체를 사용해야 하는가?
데이터관점에서
단순하게 변수나 상수를 만드는 것을 아주 가볍게 사용하려고
살짝 더 무겁게 - 구조체 (스택영역사용 , 클래스보다 가벼움, 메모리에 오랫동안 저장하지 않음 , 상속 x
반드시 필요한 경우가 아니라면 구조체를 사용하기를 권장 - 애플
정답이 있는 것은 아님, 프로젝트의 사례에 따라 적합한 것 선택
연관된 데이터들을 단순히 묶는 것이 목적일 때 구조체
참조하는 것보다 복사해서 사용하는 경우
저장속성들이 값 타입 - 구조체
상속의 구조가 필요하면 클래스
객체지향의 4대 특징 (캡상추다)
객체지향(OOP)- 클래스를 사용한다라고 생각
1. 추상화
[모델링]
실생활에서 여러가지 구체적인 것을 관심있는 부분만 가지고 재조합 하는 것
공통적인 특성을 뽑아내서 하나의 분류(class)로 만든 것
2. 캡슐화
[모델링 / 정보은닉 / 데이터캡슐화]
연관이 있는 속성이나 메서드를 하나의 클래스로 묶어서 활용한다는 개념
은닉화 - 숨긴다
3. 상속성
[재사용 / 확장]
부모클래스의 속성과 메서드를 자식클래스에서 그대로 물려받는 개념
4. 다형성
[사용편의 / 동적바인딩]
'내배캠 사전캠프 > 내배캠 사전캠프 TIL' 카테고리의 다른 글
241009 내배캠 사전캠프 TIL (0) | 2024.10.07 |
---|---|
241004 내배캠 사전캠프 TIL (0) | 2024.10.04 |
240930 내배캠 사전캠프 TIL (0) | 2024.09.30 |
240927 내배캠 사전캠프 TIL (0) | 2024.09.27 |
240926 내배캠 사전캠프 TIL (0) | 2024.09.26 |