객체지향?
프로그래밍 방식, 방법론
프로그래밍을 더 쉽게 더 잘하기 위해서
데이터와 기능이 클래스로 캡슐화된 컴퓨터 자원의 묶음(=객체 Object)
※ 그냥 진짜 쉽게 말하면 "2개 이상의 [값]을 가지는 것" 이라고 생각하자
[값]에는 배열처럼 단순한 [data]가 들어갈 수도 있는거고,
class나 interface에는 [변수]나 [method]가 들어갈 수도 있는거고 ㅇㅇ
은닉성 → private 변수는 직접 접근할 수 없음.
class, extends (상속)
→ 부모 class의 기능을 그대로 사용하거나 재정의(오버라이딩)하여 사용
interface, implements (구현) abstract(추상적인)
→ interface의 기능을 정의(구현)하여 사용
다형성
상속은 물려받는 것, 인터페이스는 장착하는 것
※객체지향 디자인 패턴