지난번에 string class에 대해서 설명을 했지?
이번엔 본격적으로 OOP의 꽃인 class에 대해 설명을 시작 할꺼야.
메소드에 관해선 JAVA강좌1편을 참고하도록 하고,
class라는것은 숙제 2에 나오는 Object를 찍어내는 틀? 정도로 생각하면되.
class를 만드는 방법은 #include 와 int main()사이에
class 사람
{
//맴버변수들
pubric:
//메소드들
이렇게 하면 되
사람 class인 man1 Object를 만들었다고 하자.
그러면 사람 class안에 선언해놓은 멤버변수와 메소드를 모두 갖는 man1 Object가 생성되는거야 사람 안에는 팔, 다리, 머리 등이 있고 앉기 서기 걷기 뛰기등이 있지?
앞의 팔 다리 머리 혈액 등이 멤버변수, 앉기 서기 걷기 뛰기등이 메소드야.
이제 man1한테 명령을 해야 하는데, 상사가 팔을 직접 잡고 움직이면 기분 나쁘지? 마찬가지로 Object도 멤버변수에 직접 값을 대입하면 기분 나빠하니까 멤버변수를 조정하는 메소드를 만들어서 man1.움직여라(팔,15˚) 이런식으로 해야 man1이 기분나빠하지않고 정확히 움직일수 있단말이야, 알았지?
그리고 니가 신이라고 생각하고, 이제 막 지구에 생명체를 만든다고 해봐.
사람 class를 만들고 강아지 class를 만드는데 사람도 걷기 뛰기 등이 있고, 강아지도 걷기 뛰기등이 있잖아. 그래서 생각해낸거야 동물 class를 만들고 이것을 좀더 확장해서 사람 class를 만들고 강아지 class를 만들면 걷기 뛰기등을 다시 만들 필요도 없고, 기린 class를 만들때 뛰기를 만드는 것을 잊어먹지도 않을것 아냐?
이런것을 상속이라고 해.
상속을 쓰는 방법은
class 사람 : public 동물
{
//맴버변수들
pubric:
//메소드들
이렇게 하면 동물 클래스의 맴버변수와 메소드가 사람클래스에도 모두 생겨,
근데 여기서 또 문제가 되는게, 사람은 2족보행이고 강아지는 4족 보행이잖아?
이 경우는 메소드의 이름은 똑같이 걷기 뛰기 이지만 내용은 달라야 겠지?
이거는 어떻게 할까?
아는사람은 정답을 댓글로!!
모르는사람은 알려달라고 댓글로!!!
어쩨 방문자는 200이 넘는데, 댓글은 하나도 없고, 방명록도 없어?
아.. ㅠ
너무 어려워.ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ