지금 OOP에대해서 실습을 하고있는데요 TAW 2/2입니다;
그런데 OOP개념에서요
onstructor의 개념이 객체 초기화 함수로서 초기에 객체 생성시에 호출되어 메모리 생성과 동시에
객체의 데이타를 초기화 한다고 하였는데요
아밥에서도 같은 의미인가요??너무 혼란스러워서요
그리고 Redefining이라고 에서요
redefining에 대해서 내부적으로 쓸때 super라고 하는 method로서 superclass에 component를 직접적으로
access하기위한 함수라고 하였는데요
super->부모클래스의 method명 이렇게 문장을 주잖아요
그런데 자식클래스에서 부모클래스의 method를 redefine해서 쓰는건데 왜 부모클래스의 method를
super라는 문장으로 가져오는건가요;;;;
혹시 redefine이 부모클래스의 method를 자식클래스가 추가해서 쓰기때문인가요??
왜이리 정리가 안되는걸까요??객체에 대해서 아주 많이 알고있지 않아서 인가요;;;
C++배우면서 배웠고 자바는 책으로 객체만 개념잡았는데 SAP로 적용할려니깐 혼란스러워요 ㅠ_ㅠ
명쾌한 답변 부탁드립니다~ㅎㅎ
그런데 OOP개념에서요
onstructor의 개념이 객체 초기화 함수로서 초기에 객체 생성시에 호출되어 메모리 생성과 동시에
객체의 데이타를 초기화 한다고 하였는데요
아밥에서도 같은 의미인가요??너무 혼란스러워서요
그리고 Redefining이라고 에서요
redefining에 대해서 내부적으로 쓸때 super라고 하는 method로서 superclass에 component를 직접적으로
access하기위한 함수라고 하였는데요
super->부모클래스의 method명 이렇게 문장을 주잖아요
그런데 자식클래스에서 부모클래스의 method를 redefine해서 쓰는건데 왜 부모클래스의 method를
super라는 문장으로 가져오는건가요;;;;
혹시 redefine이 부모클래스의 method를 자식클래스가 추가해서 쓰기때문인가요??
왜이리 정리가 안되는걸까요??객체에 대해서 아주 많이 알고있지 않아서 인가요;;;
C++배우면서 배웠고 자바는 책으로 객체만 개념잡았는데 SAP로 적용할려니깐 혼란스러워요 ㅠ_ㅠ
명쾌한 답변 부탁드립니다~ㅎㅎ
댓글 2
-
홍성종
2007.02.06 07:14
-
구본찬
2007.02.06 20:50
C++ 또는 자바를 하셨다면 자바를 하셨다면 이해하시기 훨씬 수월하실 겁니다.
통상적으로 자바에서는 method overloading과 overwriting을 지원해주는 것을 잘 아실겁니다.
생성자 또한 생성자 메소드인것을 잘 아시고 계시죠?
이해하시기 쉽게 해드리기 위해서 자바를 예를 들어 설명하겠습니다.
overwriting을 통해 부모메소드의 속성을 가져다쓰면서 상속받는 객체에서 또다른 정의를 할 수 있다는 것을
아시죠? 이것이 메소드 overwriting abap에서는 redifine이라고 하죠.
즉 super라고 정의해주는 것은 명시적으로 자식클래스에서 재정의한 메소드가 존재할 수 도 있기 때문에
아예 상속해준 객체의 메소드를 호출해 달라는 겁니다. 만약 super라고 호출하지 않으면 자식 클래스의 또다른
메소드를 호출할 수도 있겠지요. 물론 자식클래스에의 메소드는 redifine이라는 statement가 붙어야겠죠.
이해가 되셨는지요. 제가 알고 있는 사실이 틀리다면 말씀해주시고 더 궁금하신 사항이 있다면 말씀해주세요^^
감사합니다.
그러니깐 자식이 부모클래스의 method를 redefine해놔서
단지 부모클래스의 method를 쓰기위해 super->부모클래스의 method명 요렇게 한건가요??
아~머리야;;
귀찮으셔도 어쩔수 없습니다;;
귀찮게 하는게 저의 사명이기 때문에;;ㅎㅎㅎ