상속

    오브젝트 12_ 다형성

    다형성에 대한 내용이다 자세한 내용이 궁금하면 오브젝트를 펼쳐보는 걸 추천드립니다.📖 오브젝트 역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라!객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를 www.yes24.com 시작하면서 객체지향 패러다임이 주목받기 시작한 초기에 상속은 계층 타입과 다형성을 구현하는 유일한 방법이었고, 상속을 이용하면 코드를 재사용할 수 있다는 '과대광고'가 널리 생겨 상속에 대한 맹신과 추종이 생겼다. 현재는 다양한 방법으로 다형성을 구현할 수 있어서 상속의 비중은 많이 사라졌다. 다형성(Polymorphism) 다형성은 많은 형태를 가질 수 있는 능력을 의미하며, 객체지향 프로그래밍에서 다형성은 ..

    오브젝트 11_ 합성과 유연한 설계

    합성과 유연한 설계에 대한 내용이다 자세한 내용이 궁금하면 오브젝트를 펼쳐보는 걸 추천드립니다.📖 오브젝트 역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라!객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를 www.yes24.com 시작하면서 합성은 구현에 의존하지 않는다는 점에서 상속과 다르다. 상속 관계는 클래스 사이의 '정적인 관계'이고 합성 관계는 객체 사이의 '동적인 관계'다. 정적인 관계는 컴파일시점으로 변경이 불가능하지만 동적인 관계는 실행시점에 동적으로 변경이 가능하다. 객체 합성이 클래스 상속보다 더 좋은 방법이다. 상속은 구현된 코드를 재사용하면 합성은 객체의 퍼블릭 인터페이스를 재사용한다. 서브클래싱(상속)..

    오브젝트 10_ 상속과 코드 재사용

    상속과 코드 재사용에 대한 내용이다 자세한 내용이 궁금하면 오브젝트를 펼쳐보는 걸 추천드립니다.📖 오브젝트 역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라!객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를 www.yes24.com 상속과 중복 코드 중복 코드는 모두를 의심하게 만든다. 이것만으로 제거하기 충분한 이유지만 결정적이 이유는 따로 있다. DRY 원칙 중복 코드는 변경을 방해한다. 이게 중복 코드를 제거해야 하는 가장 큰 이유다. 중복 코드는 수정과 테스트에 드는 비용을 증가시키고 공황상태로 몰아넣을 수 있다. 중복 여부의 판단 기준은 변경이다. 변경이 생겼을 때 두 코드를 수정해야 한다면 중복이다. 함께 수정이 안..

    오브젝트 02_ 객체지향 프로그래밍

    객체지향 프로그래밍에 대한 주제로 내용이다. 자세한 내용이 궁금하면 오브젝트를 펼쳐보는 걸 추천드립니다.📖 오브젝트 역할, 책임, 협력을 향해 객체지향적으로 프로그래밍하라!객체지향으로 향하는 첫걸음은 클래스가 아니라 객체를 바라보는 것에서부터 시작한다. 객체지향으로 향하는 두번째 걸음은 객체를 www.yes24.com 영화 예매 시스템을 구현해보기 시스템을 구현하기 위한 요구사항은 다음과 같다. - 시간대 별로 영화를 예매한다. - 요금할인은 할인 정책(discount policy)과 할인 조건(discount condition) 2가지다. 할인 정책은 금액과 비율로 나눠지고 할인 조건은 기간과 순서로 나눠진다. 객체지향 프로그래밍을 향해 진정한 객체지향 패러다임의 전환은 객체에 초점을 맞춰야 얻는다. ..

    챕터4, 재사용 : 상속보단 조립

    📖책의 내용을 요약하니 자세한 부가설명이 궁금하시면 보시는걸 추천드립니다. 📖 객체 지향과 디자인 패턴 - 교보문고 ■ 책에서 다루는 내용- 객체 지향 (객체, 책임, 의존, 캡슐화)- 다형성과 추상화- 상속보단 조립- SOLID 설계 원칙- DI와 서비스 로케이터- 주요 디자인 패턴■ 베타 리더들의 서평책 전반에서 상황 www.kyobobook.co.kr 1. 상속과 재사용 상속은 기능을 재사용하는 매력적인 방법이다. 하지만 상속은 변경의 유연함이라는 측면에서 치명적인 단점을 갖는다. 1.1 상속을 통한 재사용의 단점 1. 상위 클래스 변경의 어려움 첫번째, 상속은 상위 클래스의 변경을 어렵게 만든다. 클래스를 상속받는 것은 상위 클래스에 의존한다는 뜻, 상위 클래스의 변경이 하위 클래스에 영향을 주기..

    챕터3, 다형성과 추상 타입

    📖책의 내용을 요약하니 자세한 부가설명이 궁금하시면 보시는걸 추천드립니다. 📖 객체 지향과 디자인 패턴 - 교보문고 ■ 책에서 다루는 내용- 객체 지향 (객체, 책임, 의존, 캡슐화)- 다형성과 추상화- 상속보단 조립- SOLID 설계 원칙- DI와 서비스 로케이터- 주요 디자인 패턴■ 베타 리더들의 서평책 전반에서 상황 www.kyobobook.co.kr 1. 상속 개요 상속(Inheritance)은 한 타입을 그대로 사용하면서 구현을 추가할 수 있도록 해주는 방법을 제공 하위 클래스는 필요에 따라 상위 클래스의 메서드를 재정의(Overriding) 가능 * 자바는 상위 클래스의 메서드가 private 경우, 상속 받을 수 없다. (언어마다 다름) 2. 다형성과 상속 다형성(Polymorphism)은 ..

    6주차 : 상속

    github.com/whiteship/live-study/issues/6 6주차 과제: 상속 · Issue #6 · whiteship/live-study 목표 자바의 상속에 대해 학습하세요. 학습할 것 (필수) 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 마 github.com 자바 상속의 특징 super 키워드 메소드 오버라이딩 다이나믹 메소드 디스패치 (Dynamic Method Dispatch) 추상 클래스 final 키워드 Object 클래스 자바 상속의 특징 상속이란 부모의 멤버를 자식에게 물러주는 것으로 사용 용도는 코드 중복을 방지하고 공통 코드를 재사용하기다 다..