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


public
어디에서든 접근 가능
private
접근 불가능
exercise : 매서드의 이름-v
상태값인데 변경 불가능한 것
: 혈액형
이름은 개명신청(행위)를 통해 상태(이름)를 바꿈

같은 class라 접근가능, 그렇지만 값 안나오니까

문법적으로 잘못됬다기보다 객체지향이 아님.(행위 없이 상태를 바꿈)
그게 싫으면 private으로 변경불가능하게 함.


메서드

동전,카드,지폐 투입구/ return 커피
-고기 커피샾(투입 없이 return있음)
-그냥 자판기(투입 있고 return 있음)(어떤 투입구는 동전, 카드, 지폐 여러개도 있음)
-오락실(투입 있고 return 없음)
객체지향으로 바꿈(몸무게 함부로 못바꿈)


냉장고 자체는 객체. 단어는 존재는 함.
인스턴스화 = 그 클래스를 쓸 수 있게 만들어 놓는 것.
예를 들어-v

void 양치하기(){}
void 세수하기(){}
void 머리감기(){}
void 드라이기(){}
void 로션바르기(){}
void 옷입기(){}
void main(){
머리감기();
세수하기();
양치하기();
드라이기();
로션바르기();
옷입기();
}
class Me{
int 치아 = 100;
int 얼굴 = 100;
int 머리 = 100;
void 머리감기(){
}
void 양치하기(){
}
void 세수하기(){
}
void 드라이(){
}
}
class 드라이기{
}
class 물{}
class 비누{}
class 치솔 {
}



12.18(월) 오늘의 중요 point
정렬 // 바이너리 서치 : 항상 유리한 것은 아니다.

Share article