상속

    [Java] 다형성 개념 복습 / 추상클래스와 인터페이스

    다형성의 개념에 대해 설명할 수 있다. 하나의 인스턴스가 여러 타입을 가질 수 있는 것. 상속을 기반으로한 기술이다. 다형성의 장단점을 설명할 수 있다. 같은 동작을 하는 메소드를 새로운 객체가 생길때 마다 작성하지 않아도 된다. 여러 타입의 객체를 하나의 타입으로 관리할 수 있으므로 유지보수가 쉽고 결합도가 낮으며 확장성이 좋다. 동적 바인딩에 대해 설명할 수 있다. 컴파일 당시에는 해당 타입의 메소드와 정적으로 연결되어 있다가 런타입 당시 (실행시) 실제 객체가 가진 오버라이딩 된 메소드로 바인딩이 바뀌어 동적으로 동작하는 것을 의미한다. 동적바인딩은 상속 관계로 이루어져 메소드 오버라이딩이 되어 있어야 한다. 하나의 메소드 호출로 각기 다른 객체의 다른 메소드를 동작시키는 것. Parent p = ..

    [Java] 상속 개념 복습

    클래스 상속에 대한 개념을 설명할 수 있다. 부모 클래스가 가지는 멤버를 자식클래스가 물려받아 자신의 멤버인 것척럼 사용할 수 있도록 만든 기술 자바는 단일 상속을 지원한다. (모호성을 제거) 클래스 간의 상속 시에는 extends 키워드 사용 상속의 목적을 설명할 수 있다. 부모 클래스의 기능을 자식클래스에서 상속받아 코드를 재사용하는 것. 자식클래스는 부모 클래스가 가진 메소드를 사용할 수 있다. (private 멤버는 접근 불가) 상속의 장단점을 설명할 수 있다. 장점 새로운 클래스 작성 시 부모 클래스에서 작성된 코드를 이어받아 새로 작성하지 않아도 됨. 클래스의 재사용 클래스간 계층관계과 형성되어 다형성의 문법의 토대가 된다. 단점 부모클래스가 변경될 때 자식클래스에서 정상적인 동작을 할지 예측..

    [Java] day15. 추상클래스/ 인터페이스

    추상클래스와 인터페이스 상속과 다형성에 이어진 개념에 대해 배웠다. 암기해야할 것들이 조금 있는 추상클래스와 인터페이스..... 조금 어려웠다. 각각 아직은 프로그래밍을 실제로 하고 있지 않아 이러한 개념을 왜 사용해야 하는지 크게 와닿지 않았다. 추후 이 개념을 사용하게 될 날을 위해 우선 개념적으로 숙지해야겠다. 추상클래스 추상클래스는 곧 미완성 클래스 이다. 내용이 작성되지 않은 클래스. 메소드를 정의했지만 정작 알멩이는 없는 클래스이다. 이런 미완성 클래스를 왜 사용하는 것일까? 추상클래스를 상속 받은 하위클래스를 이용해서, 이 하위클래스는 추상클래스를 완성시킨다.... why ?? 추상클래스는 필수 기능을 정의해서 오버라이딩을 꼭 해야한다고 강제성을 부여하는 것이다. 바로 다형성을 활용하는 개념..

    [Java] day14. 다형성

    전 수업과 깊게 연관된 내용으로 이전 포스팅을 첨부한다. JAVA 국비교육 day13. 상속 / 오버라이딩 상속 부모클래스가 가지는 멤버를 자식클래스가 물려받아 자신의 멤버인 것처럼 사용할 수 있도록 만든 기술 멤버 외에 타입 또한 상속이 된다 . 다형성의 토대 자바는 단일 상속(하나의 클래스 tm-im.tistory.com 이제 클래스와 객체 파트 이후로 과제가 클래스다이어그램을 읽어내고 그에 맞는 여러 클래스를 만들고. 객체 생성과 메소드 호출하는 법, 상속 관계에 맞춰 프로그래밍하는 걸 연습하다보니까 블로그에 연습문제의 어느 부분을 딱 올리기가 시간이 오래 걸려서 다른 방식의 포스팅이 필요할 것 같다. 차라리 문제 풀이 중 알게 되는 부분을 TIL로 간단히 올리는게 나을 것 같다. 다형성부터는 정말..

    [Java] day13. 상속 / 오버라이딩

    상속 부모클래스가 가지는 멤버를 자식클래스가 물려받아 자신의 멤버인 것처럼 사용할 수 있도록 만든 기술 멤버 외에 타입 또한 상속이 된다 . 다형성의 토대 자바는 단일 상속(하나의 클래스만을 부모클래스로 가짐)을 지원 클래스 간의 상속 시에는 extends 키워드를 사용 public class Academy extends Company{} 장점 새로운 클래스를 작성 시 기존에 작성 된 클래스의 재사용 가능 클래스간 계층 관계가 형성되어 다형성 문법의 토대가 됨 단점 부모클래스의 기능 변경 시 자식클래스의 정상적인 동작 유무 예측이 힘듦 자식클래스가 물려받아 사용하는 기능들을 부모클래스에서 변경 시 어려움이 따름 부모클래스로부터 물려받은 기능이 자식클래스에서는 무의미 할 수 있음 장단점을 고려해 볼 때 I..