객체, 메서드 기본,바이너리서치

이소연's avatar
Aug 03, 2024
객체, 메서드 기본,바이너리서치

object(객체)

new해서 올릴 수 있는 것들, 존재할 수 있는 모든 것(존재 아직 안 하더라도) -상태(변수)와 동작(메소드)을 가지고 있다. ⇒In software) 객체 안의 변수 = 필드, 객체 안의 함수 = 메소드 ex) TV (객체) →상태 : 채널 번호, 볼륨, 전원 상태 → 동작 : 켜기, 끄기, 채널변경, 볼륨변경
냉장고 인스턴스화
 
바퀴라는 class를 만들면
자동차 휠, 타이어, 나사, 브레이크패드 다 포함된 것이 자동차 바퀴
하나로 만들면 재사용 불가능
 
다 따로 만들면, 자동차 휠, 타이어, 나사 따로 만들면 class로 다 따로 만들면(오브젝) 그걸 결합하면 하나의 완성채(서로 상호작용함)가 나옴. →재사용할 수 있음?
 
💡
객체지향프로그램
다 따로 만듦
커피, 커피머신, 손님, 종업원 각 서로 상호작용함
ex) 손님은 종업원에게 주문→ 종업원은 커피머신에게 명령→ 커피머신에서 커피 추출→ 종업원이 들고 → 손님에게 갖다 줌.
 
모든 걸 결합해서 부품화하는 것
예를 들면
가구는 추상적이라 new할 수 없음
의자,책상은 (구체적이라) new할 수 있음
 
알파벳은 추상화
a는 구체화?
 
사람은 추상화 본인은 나(구체화)-v
 
내가 new할 수 있으면 object
 
💡
상태값은 행위(메서드)를 통해 변경
ex) 체중은 운동, 다이어트를 통해 변경.마법처럼 갑자기 변경 x
notion image
notion image
public
어디에서든 접근 가능
private
접근 불가능
exercise : 매서드의 이름-v
 
상태값인데 변경 불가능한 것
: 혈액형
 
이름은 개명신청(행위)를 통해 상태(이름)를 바꿈
notion image
같은 class라 접근가능, 그렇지만 값 안나오니까
notion image
문법적으로 잘못됬다기보다 객체지향이 아님.(행위 없이 상태를 바꿈)
그게 싫으면 private으로 변경불가능하게 함.
notion image
notion image
 

메서드

notion image
동전,카드,지폐 투입구/ return 커피
-고기 커피샾(투입 없이 return있음)
-그냥 자판기(투입 있고 return 있음)(어떤 투입구는 동전, 카드, 지폐 여러개도 있음)
-오락실(투입 있고 return 없음)
 
객체지향으로 바꿈(몸무게 함부로 못바꿈)
notion image
notion image
냉장고 자체는 객체. 단어는 존재는 함.
인스턴스화 = 그 클래스를 쓸 수 있게 만들어 놓는 것.
 
예를 들어-v
notion image
void 양치하기(){} void 세수하기(){} void 머리감기(){} void 드라이기(){} void 로션바르기(){} void 옷입기(){} void main(){ 머리감기(); 세수하기(); 양치하기(); 드라이기(); 로션바르기(); 옷입기(); }
class Me{ int 치아 = 100; int 얼굴 = 100; int 머리 = 100; void 머리감기(){ } void 양치하기(){ } void 세수하기(){ } void 드라이(){ } } class 드라이기{ } class 물{} class 비누{} class 치솔 { }
notion image
notion image
notion image
 
💡
12.18(월) 오늘의 중요 point
정렬 // 바이너리 서치 : 항상 유리한 것은 아니다.
 
 
 
notion image
Share article

Coding's note