class 객체지향 질문좀 드립니다.

class 객체지향 질문좀 드립니다.

QA

class 객체지향 질문좀 드립니다.

본문

계속 보고 또봐도 이해가 안되서 질문또 남깁니다..

2일을 객체 지향에 대해서 보다보니

붕어빵에 비교한거 자동차에 비교한거나

객체지향이좋고 수정이 용이하고 이런건 알겠습니다..

 

그런데 어떤경우에 수정이 용이 한지.. 

예로 함수로는 처리하려면 엄청 복잡해지고 수정할곳이 많아지는데,

class로 하면 간단해지는 경우가 궁금합니다...

아무리찾아봐도 비교하여 보여주는 예제가 없어서

왜좋은지 관리가 편리한지 수정이 용이한지 이해할수가 없네요.ㅜㅜ

 

초보자의 답답한 마음좀 이해부탁드립니다...ㅠㅠ

이 질문에 댓글 쓰기 :

답변 3

전문적인 지식을 필요로 하시는 건 아닌듯 하네요.

초보자 입장에서 생각하자면,

클래스는 하나의 그룹으로 묶고, 그걸 재사용 하는데에 의의를 두면 될 것 같습니다.

 

기존 함수 형태의 코드로 자동차를 만드려면,

자동차_바퀴()

자동차_몸통()

자동차_유리()

자동차_기름()

과 같이 함수를 만들어줘야 하고,

또, 오토바이를 만드려면 동일하게 오토바이_??() 를 다시 만들어 주어야겠지요.

 

이에 비해 클래스를 이용하면,

자동차 클래스 {

 바퀴()

 몸통()

 유리()

 기름()

}

과 같이 묶어서 관리할 수 있고,

상속이라는 기능을 이용해서 오토바이를 저 자동차 클래스로도 만들어 낼 수 있지요.

 

---

윗분들 말씀대로 이유를 몰라도 일단 계속 써 보시면 차츰 감이 잡히실겁니다.

뭐든 일단 직접 해 보는게 이해에 제일 큰 도움이 됩니다.

클래스는 상속의 개념이 이해되어야만 비로소 아하 이런 거구나를 느끼실 거에요.

 

아주 서툴게 예를 든다면 갑돌 을돌 병돌 형제 셋이 있는데 우리는 그들의 성씨를 모릅니다.

그런데 한 사람의 성씨만 알아도 나머지 두 명은 굳이 성씨를 조사할 필요가 없겠죠.

왜냐하면 형제의 성씨는 아버지로부터 상속받기 때문입니다.

 

절차지향은 세 사람의 성씨를 각각 파악해야 하는 구조이고 객체지형은 부친의 성씨만 파악하면 되는 구조입니다.

 

너무 개념에 집착하지 마세요.

원은 늘 우리가 보는 것이고 그게 무엇인지 너무나 잘 알고 있지만 그 개념이 무어냐고 물으면 한 점을 중심으로 같은 거리에 있는 점들의 집합이라고 정확히 대답할 수 있는 사람은 극히 드물어요.

 

시간이 지나면서 내공이 늘다보면 클래스를 이해하는 그 순간이 올 거에요.

글쎄요... 많이 써보시면 당근 이해하기 좋아지실터인데....

 

사용하시다보면  반복 사용하게 되고 용도에 맞게 확장하기위해 계속 수정하시게 되고

이에따라 확장과 재사용이 반복되면 자연스레 상속성에 대해서 이해하시게 될겁니다. 

 

두번째로는 캡슐화라고 이야기 하는 숨김에 대한부분도 이해가 되실거구요... 

 

자주 사용하고 또 다른분들로 부터 만들어진것을 쓰기도 하면서.. 아 하시는 순간이 오면

이해가 되는 순간일겁니다. 물론 그때부터는 많이 사용하실 겁니다.. 

 

PS : 

귀차니즘이라고 무언가 만들때 설계부터 안하면 소스가 난잡해지듯이... 

설계습관부터 가진다면... 더욱더 이해가 빨라집니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,131 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT