Web/note

추상 클래스와 인터페이스의 차이

클래스

변수와 메소드를 가진, 설계도
클래스를 통해서 인스턴스 객체 생성이 가능하다

 

인스턴스

객체가 메모리에 할당되어 실제 매모리를 차지하는 것

 

추상 클래스

  • 직접 객체 생성이 불가능하고, 클래스를 상속받아 오버라이딩 하여 사용
  • 추상 메소드를 하나 이상 가진 클래스
  • 상속받아 기능 확장 가능
  • 단일 상속만 가능
  • 추상 클래스를 상속한 클래스는 추상 메소드만 서브 클래스에서 구현하면 된다

 

인터페이스

  • 메소드는 같지만 동작 방식은 다르게, 다형성을 줄수 있다
  • 다중 구현이 가증하다
  • 모든 메서드가 추상 메소드로 이루어져있다
  • 서로 관련 없는 클래스에서 공통적으로 사용하는 방식이 필요하지만, 기능은 각각 구현해야 하는 경우 사용
  • 인터페이스를 구현하는 클래스는 인터페이스의 모든 메소드를 포함해야 한다

 

 

다형성

하나의 클래스나 함수가 다양한 방식으로 동작 가능 한 것
오버라이딩과 오버로딩을 통해 구현 가능

오버로딩

다양한 타입과 개수의 매개변수를 가진 메소드를 여러개 생성,
다양한 유형의 호출에 응답.
return 타입과 접근 제한자는 영향 없음

오버라이딩

부모클래스의 메소드를 자식 클래스의 메소드로 재정의 하는 것
상속받아 기능의 확장을 위해서 사용
메소드 이름이 같아야 한다
아규먼트가 같아야 한다
리턴 타입이 같아야 한다

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

면접질문

웹 개발자 면접 질문

728x90
728x90