Back-End 면접질문3

Lee·2020년 9월 30일
1

3탄이다..너무 많아서 이러다 10탄까지 가면 어떻하지

객체지향 4대 특성에 대해서 설명해주세요

캡상추다로 요약할 수 있을 것 같습니다
1. 먼저 캡은 캡슐화(Encapsulation)를 의미합니다. 좀 더 자세히 말하면 정보의 은닉화 즉 접근제어자에 따라 접근할 수 있는 대상이 결정되는 것을 의미합니다. 접근제어자는 다음에 따라 나누어 집니다
public : 모두가 접근 가능
protected : 상속 / 같은 패키지 내의 클래스에서 접근 가능
default : 같은 패키지 내의 클래스에서 접근가능
private : 본인만 접근 가능

  1. 상속(inheritance)은 재사용과 확장을 의미하며 상위 클래스의 특성을 하위 클래스에서 상속(특성 상속)하고 거기에 더해 필요한 특성을 추가, 즉 확장하여 사용할 수 있다는 말입니다
  1. 추상화(Abstraction)는 모델링을 의미합니다. 여기서 모델링이란 목적에 맞게 관심있는 특성만을 추출해서 표현하는 일을 말합니다. 프로그램도 목적에 따라 전산관리 프로그램, 쿠팡에서 제공하는 소셜커머스 앱 등 여러가지로 나뉘게 되는데 이러한 사용목적에 맞게 관련특성을 추출해서 표현하는 것을 말합니다. 이러한 작업은 객체 지향에서 클래스를 설계할 때 필요하며 데이터베이스의 테이블을 설계할 때도 필요합니다. 자바는 class를 통해 이러한 추상화를 지원하고 있습니다.
  1. 다형성(polymorphism)은 하나의 객체가 여러가지 타입을 가지는 것을 의미합니다. 기본적으로 오버라이딩과 오버로딩이 다형성의 대표적인 예라고 볼 수 있습니다. 오버라이딩은 재정의, 즉 상위클래스의 메서드와 같은 메서드 이름과 같은 인자리스트를 가진 메서드를 재정의 하는 것입니다. 오버로딩은 중복정의로 같은 메서드 이름을 가지지만 인자가 다른 여러 메서드를 중복정의하는 것입니다.

참조 : 스프링 입문을 위한 자바 객체지향의 원리와 이해

profile
두비두비둡

0개의 댓글