목록Some Memos (107)
Wanna be Brilliant Full-Stack Developer
다형성이란 여러가지 형태가 존재한다는 뜻이다. 이게 무슨뜻일까? 다양한 형태를 가진다?! 만약에 내 이름이 최주호인데 내 이름을 최주호라고 부를 수도 있고 IT 강사라도 부를 수 있고 프로그래머라고도 부를 수 있다. 여러가지 이름으로 나를 부를 수 있다. 다양한 형태를 가지는 것이다. 이것이 다형성이다. 홍길동이라는 애가 있는데 직업은 요리사이다. 그래서 요리사라는 클래스를 만들고 상속을 한다. 상속이 가능한 이유는 홍길동한테 홍길동이니? 라고 물어보면 네라고 할 수 있고 홍길동한테 요리사니라고 하면 네라고 할 수 있다. 다양한 형태의 이름을 가지는 것이다. 이건 키워드를 적어서 Extends를 해서 상속을 한것이다. 이렇게하면 홍길동이라는 애를 메모리에 띄우고 싶으면 new를 하면 new 홍길동이라고 ..
자바에는 상속이라는것이 있다. 엄밀히 말하면 Extend라고 해서 확장하다라고 정의하는것이 낫다. 내가 만약 자동차 하나를 만들고 싶다. 자동차를 만들기 위해서 필요한 부품들이 있다. 첫번쨰로는 바퀴, 엔진, 차 외관(프레임) , 기어와 같은것들이 필요하다. 내가 만약 자동차를 만들건데 자동차를 만들려고 했더니 이미 잘 만들어진 엔진이라는 라이브러리가 존재한다. 그래서 이 라이브러리를 사용하면 되는데? 어떻게 사용해야하는가! 내가 자동차를 만들거니까 이 엔진을 가져와서 사용하면 된다. 그러면 이 자동차를 만들떄 이 엔진을 가져와서 사용하는거니까 라이브러리를 import를 해야한다. 이걸 상속이라고 하지는 않는다. 어떤 필요한것을 가져오는것을 상속이라고 하지는 않는다. 그러면 상속이라는것은 무엇인가? 가장..
클래스와 상태와 행위에대해 알아보자 자동차라는 클래스가 있다. 자동차라는 클래스는 상태를 먼저 보면 자동차는 현재 색상은 파란색! 자동차의 이름은 소나타, 자동차의 브랜드는 현대, 이 자동차의 파워(엔진)은 2000cc이다. 이 자동차의 스피드는 현재 0이다. 아직 출발하지 않았기 떄문이다. 이런 자동차의 상태가 있다. 그런데 색상은 파란색인데 나중에 자동차를 튜닝샵에 맡겨서 변경할 수 있다. 하지만 이름과 브랜드는 변경할 수 없다. 엔진은 마음만먹으면 변경할 수 있다. 여기서 스피드는 0인데 이것이 가장 중요하다. 이 상태 값중에 스피드를 눈여겨봐야한다. 지금은 0이다 . 스피드는 언제 변할까? 속력이라는것은 자동차가 움직이기 시작하면 스피드가 변한다. 여기서 움직인다라는 의미는 행위를 말한다! 여기서..
클래스는 신이 가지고 있는 설계도이다. 신이 설계도를 가지고 있을때 강아지 , 사람 설계도를 가지고 있으면 이 세상에는 강아지가 한마리만 있는것이 아니라 강아지가 다 종류가 다르다. 종류가 다르니까 상태에 대한 초기화가 안되어 있다. 선언만 되어있을것이다. 이 세상에 new해서 뿌리를 내리는것이다 그떄 각자 다양성을 유지하기 위해서 중간에 생성자가 다 필요하다. 세상에 뿌리가 내려져셔 토토라는 강아지도 있고 , 레르코라는 강아지도 있고 그리고 장보고, 임꺽정, 홍길동도 만들어졌다. 그러면 실제 heap공간으로 보면 5개의 heap이 있는것이다. 토토, 레르코. 장보고, 임꺽정, 홍길동 자리가 있다. 각자의 자리에는 상태, 필드 값을 가지고 있을것이다. 클래스라는 설계도를 통해서 다양하게 만들어 낼 수 있..