클래스(틀) 객체(붕어빵)
heap ----> stack
리모컨
(참조값)
new
static 고정시키다 -> 공유자원
class에 자원을 고정시키다
class에 고정된 a는 class에만 있다
제품을 만들기 위해서는 틀 1개만 있다고 생각하면 편하다
복사본을 객체1,객체2라고 예를 들었을때
클래스에 붙어있는 거랑 같이 써야함
main에는 static을 꼭 붙여야함(약속이라서)
표기법도 지켜야함
ex) int NO-X
int no-O
들여쓰기 신경써서 해야함(기본중의 기본)
공유가 좋아보일수도 있지만 모든 값에 공유가 되기 때문에 결코 좋은 것이 아님
초반에 자바를 잘 모르는 상태에서 static을 사용하게 될 경우 많은 문제가 발생할 수 있으니 주의할 것
메서드에 static을 붙이면 클래스 안에 객체와 함수를 고정시킬 수 있다.
<static이 붙은건 class 것 , 안 붙으면 객체 것>
introduce는 static이 붙지 않았기 때문에 객체로 해석이 되는것
class한테 부여를 할거면 static을 붙여라
static은 객체 수준이 아니라 클래스 수준임
확실할때만 static을 써라
this의 사용법 숙지하기
inheritance = 상속
Animal 상위클래스(부모클래스)
Cat,Dog 하위클래스(자식클래스)
부모가 물려준 메서드를 똑같은 이름으로 하나 더 만드는 것 ->재정의(오버라이딩)
중복 여부 확인하기
상속을 해결하기 위한 방법론 - 컴포지션(구성) -> 코드의 중복은 구성으로 해결해라.
상속은 상위개념과 하위개념으로 나눠지지만
구성은 소유의 개념이다(전체를 가져오는게 아니라 그 기능이 가능한 아이템을 소유하는 것 (ex.오리에 대한 내용을 전부 가져오는게 아니라 오리발,오리날개 등등))