[22/03/01] 면접 연습! 클래스, 인터페이스..

Que Lin·2022년 3월 1일
0

1day 1commit

목록 보기
43/63

👧클래스변수, 지역변수, 인스턴스 변수에 대해서 설명(선언위치 설명)

  • 선언위치
    클래스 변수와 인스턴스 변수는 클래스 영역에,
    지역 변수는 클래스 이외의 영역(메서드, 생성자, 초기화 블럭)에 선언합니다.

  • 생성시기(메모리 할당 시기)
    클래스 변수는 클래스가 메모리에 올라 갈 때
    (인스턴스 변수에 static만 붙여주면 됨, 모든 인스턴스가 공통된 값을 공유, public을 붙이면 같은 프로그램 내에서 어디서든 접근할 수 있는 전역변수가 됨, 클래스이름, 클래스 변수명을 통해서 접근 가능)

    인스턴스 변수는 인스턴스가 생성될 때

    (인스턴스 변수의 값을 읽어오거나 저장하려면 인스턴스를 먼저 생성하여야 한다. 각각의 인스턴스마다 고유의 값을 가져야 할 때는 인스턴스 변수로 선언한다.)

    지역 변수는 변수 선언문이 수행되었을 때 생성됩니다.

    (메서드 내에서 선언되는 변수, 메서드가 실행될 때 메모리를 할당 받고 끝나면 소멸되어 사용 불가능)

👦추상클래스(abstract class)와 인터페이스(interface)의 공통점 차이점

공통점은

모두 클래스이고 (: 객체를 만들어 내기 위한 설계도 혹은 틀 연관되어 있는 변수와 메서드의 집합)
하위클래스에서 모든 추상 메서드를 구현해야 한다는 것입니다.

차이점은

추상 클래스는 추상 메서드 외 일반 멤버 변수와 메서드를 가질 수 있지만
extends를 사용
단일 상속만 가능
작업의 레벨 분할을 위해서 사용

인터페이스는 추상 메서드와 static final 변수만 사용한다는 점입니다.
Implements를 사용
중복 구현 가능
공동 작업을 위한 상호간의 인터페이스를 위해 사용

👳‍♀️인터페이스, 상속, 다형성에 대해서 설명

  • 인터페이스는 추상 메서드와 상수로만 이어져 있고 다중 상속이 가능합니다.
  • 상속은 부모클래스로부터 상속받은 자식클래스는 부모클래스의 모든 자원과 메서드 등을 자신의 것처럼 사용할 수 있습니다.
  • 다형성은 하나의 메소드나 클래스가 있을 때 이것들이 다양한 방법으로 동작하는 것입니다.
  • 인터페이스는 다형성을 가지고 있습니다.
profile
1일 1커밋 1일 1벨로그!

0개의 댓글