Loading...
2022. 7. 31. 12:50

객체지향프로그래밍이란 6편 -다형성,캡슐화-

1. 다형성(polymorphism) 여러 모양을 뜻하는 그리스어 동일한 메소드가 클래스에 따라 다르게 행동할 수 있다 서로 다른 클래스에 속해있는 객체들이 동일한 메시지에 대해 다른 방식으로 응답가능 부모에 talk()가 있고 자식에 talk()가 있을때, talk()를 사용하면, 어떤 talk()를 사용하게 되는가? 자식에서 talk()를 먼저 찾아봐서 있으면 자식의 talk()를 쓰고, 그렇지 않으면 부모에서 talk()를 찾아 부모 talk()를 쓰게 되는 2. method overriding(덮어쓰기) 클래스를 상속할 때, 부모 클래스에서 정의한 메소드를 자식 클래스에서 재정의하는 것 부모 클래스의 메소드 이름과 기본 기능은 그대로 사용하더라도 특정 기능을 재정의해서 바꾸고 싶을 때 예시) Pe..

2022. 7. 31. 04:29

객체지향프로그래밍이란 5편 - 추상화, 상속 -

1. 객체지향의 핵심개념 추상화, 상속, 다형성, 캡슐화 2. 추상화 함수, 변수, 클래스 blackbox같은 내부의 복잡한 원리는 잘 몰라도 필요한 것만 드러내고 쓰는것 User.login()하면 로그인.. 로그인을 어떻게 하는건데?? 그건 좀 복잡하지만 아무튼 로그인 잘하면 그만 User.logout()하면 로그아웃.. 로그아웃을 어떻게 하는건지 모르겠지만 아무튼 로그아웃이 잘 되면 그만 세상에 다양한 사람이 있지만 필요에 따라 Professor와 Student 두 그룹으로 나누는 것 그러면 professor나 student라고 하는 나만의 정의, 모음집이 생겨?? 이렇게 복잡하게 정의된 student, professor 코드에서 그냥 student.talk()하면 어떻게 말을 하는건지는 모르겠지만 ..