항상 왜?를 생각하기
접근자
- 접근 제어자는 캡슐화가 가능할 수 있도록 돕는 도구
캡슐화
- 데이터에 해당되는 기능들을 묶는다.
- 외부에 노출하지 않고 작동 및 변경이 가능하다.
Parameter - 매개변수(변수) - array_A
Argument - 인자(값) - ("a", "b", "c")
인터페이스 - implements로 동작을 명세, 다중상속 가능, 주로 사용 됨
추상클래스 - extends로 부모를 확장하는 것, 주로 관계가 매우 명확할 때만 사용
추상화
다형성(Polymorphism)
변수
객체 Object
속성 Property
객체지향의 목표는 모방이 아니라 창조하는 것
각 객체들은 역할과 책임이 주어지고 협력이 필요하다 (+메시지)
Java in Window: Ctrl + p: 필요한 parameter 보여줌
조별로 알고리즘 공부 중 zip() 함수에 대해 짧은 토론이 있었다.
last_names = ["Jack","Matt","Obama"]
middle_names = ["D","S","O"]
first_names = ["Cock", "Bal", "Care"]
result_list = list(zip(last_names,middle_names,first_names))
result_dict = dict(zip(last_names,first_names))
print (result_list)
print (result_dict)
결과
[('Jack', 'D', 'Cock'), ('Matt', 'S', 'Bal'), ('Obama', 'O', 'Care')]
{'Jack': 'Cock', 'Matt': 'Bal', 'Obama': 'Care'}
zip은 list에 적용할 때는 tuple로 나오게 되고, dict에 적용할 때는 2개를 합친 zip으로만 가능하다.