추상클래스

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

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

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

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