inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

62번 강의(제네릭) 중 질문있습니다.

해결됨

C# 프로그래밍 기초부터 실전 활용까지

abstract 추상클래스 키워드를 사용하여 Animal 클래스를 만들었는데, 이 키워드는 인스턴스화가 안되는것 아닌가요? void Swap 윗줄에서 Animal a = new Dog(); 라고 적은 부분에 오류가 안뜨길래 궁금해서 질문남깁니다.

  • abstract
  • 추상클래스
윤지수 댓글 2 좋아요 0 조회수 66

공통 코드를 추상 클래스로 올리라는 것의 해석

미해결

스프링 핵심 원리 - 고급편

첫 번째 질문은 '섹션 4'에 '데코레이터 패턴 - 예제 코드3' 편에서 김영한님이 private Component component; TimeDecorator(Component component) { this.component = component; } 를 드래그하며 MessageDecorator에서와의 중복 코드이기 때문에 추상 클래스를 만들어서 올릴 수 있다고 하셨는데 추상 클래스를 아래와 같이 만들어주고 @Getter @Setter public abstract class AbstractDecorator implements Component { private Component component; AbstractDecorator(Component component) { this.component = component; } } MessageDecorator를 이렇게 수정해주면 되는걸까요? @Slf4j public class MessageDecorator extends AbstractDecorator{ public MessageDecorator(Component component) { super(component); } @Override public String operation() { log.info("MessageDecorator 실행"); String result = super.getComponent().operation(); String decoResult = "**" + result + "**"; log.info("MessageDecorator 꾸미기 적용 전={}, 적용 후={}",result, decoResult); return decoResult; } } 두 번째 질문은 추상클래스를 사용한다면 인터페이스의 장점을 활용하지 못할 것 같은데 이걸 의도하신 게 맞는지 궁금합니다. 감사합니다. 강의 잘 듣고 있습니다.

  • spring
  • 디자인-패턴
  • 추상클래스
  • 중복코드
josephdev123 댓글 2 좋아요 2 조회수 534

추상클래스 (abstract class)와 인터페이스(interface)의 최적의 쓰임?

해결됨

나도코딩의 자바 기본편 - 풀코스 (20시간)

안녕하세요 나도코딩 선생님...ㅎ 몇 주전에 나도코딩 자바편 강의를 완강하고 다시 2회차로 강의를 듣는 중입니다...ㅎ 추상 클래스 (abstract class)와 인터페이스(interface) 관련 강의를 들으면서 각각의 특징들 및 차이점들에 대해서 다시 조금씩 알아가고 있는데... (예를 들면, 추상클래스는 abstract 키워드를 가지고, abstract메소드를 가지고 있어서 객체를 생성할 수 없는 반면, 인터페이스(interface)는 보통 -able 키워드, 변수 X, 생성자 X, 오로지 메소드만 있다 등) 이 둘, 그러니까 추상 클래스 (abstract class)와 인터페이스(interface)는 '어느 때 (또는 어느 시점)'에 활용하는게 가장 적절한지 디테일하게 알 수 없을까요? 항상 좋은 강의와 답변 감사합니다...ㅎ

  • java
  • 객체지향
  • 추상클래스
  • abstract
  • 인터페이스
  • interface
댓글 1 좋아요 0 조회수 3484

추상클래스, 인터페이스에 대해 질문이 있습니다!

해결됨

나도코딩의 자바 기본편 - 풀코스 (20시간)

제가 정리한 내용은 추상클래스 는 new 클래스를 통해 직접 객체를 생성할 수 없으며, 상속을 위한 클래스이고 인터페이스 는 구현체에 대한 메소드를 오버라이드 하는 것으로 이해하였는데.. 첫번째 질문은 두 개의 역할이 중복되는 것이 아닌지에 대한 질문입니다. 두 개의 역할 모두 구현체에게 메소드를 주입하는 것인데 굳이 구분한 것인지에 대한 질문입니다. 두번째 질문은 일반 클래스의 상속이 있는데 굳이 추상클래스를 사용 하는 점 입니다. 제 생각으로는 부모 객체의 사용을 막기 위해 추상클래스로 변경을 한 것인지? 아니면 다른 이유가 있는 것인지에 대해서도 궁금합니다.

  • 추상클래스
  • 인터페이스
  • oop
  • java
  • 상속
Son원철 댓글 1 좋아요 2 조회수 646

인기 태그

인프런 TOP Writers

주간 인기글