[CS스터디]Day 33

DaramGee·2024년 5월 17일

Study

목록 보기
20/20

일시 : 2024.05.17 10:00~10:30

자바에서 상속과 구현의 차이는?

자바에서 "상속"과 "구현"은 객체 지향 프로그래밍의 두 가지 주요 개념으로, 클래스 간의 관계를 정의하는 데 사용됩니다. 다음과 같이 각각의 특징과 차이점을 설명할 수 있습니다:

  1. 상속 (Inheritance):

    • 상속은 한 클래스가 다른 클래스의 속성(필드)과 메서드를 물려받는 메커니즘입니다.
    • 주로 코드의 재사용성을 높이고, 계층적 분류를 가능하게 하여 관리가 용이하게 합니다.
    • 자바에서 클래스는 extends 키워드를 사용하여 다른 클래스로부터 상속받을 수 있습니다.
    • 예: class Dog extends Animal에서 Dog 클래스는 Animal 클래스의 모든 특성을 상속받습니다.
    • 자바에서 클래스는 단일 상속만 지원합니다. 즉, 하나의 클래스만 확장할 수 있습니다.
  2. 구현 (Implementation):

    • 구현은 인터페이스를 사용하는 개념으로, 클래스가 인터페이스의 모든 추상 메서드를 구현해야 하는 규칙을 제공합니다.
    • 인터페이스는 메서드의 시그니처만을 선언하며, 실제 구현은 인터페이스를 구현하는 클래스에서 이루어집니다.
    • 인터페이스는 implements 키워드를 사용하여 구현됩니다.
    • 예: class Car implements Vehicle에서 Car 클래스는 Vehicle 인터페이스의 모든 메서드를 구현해야 합니다.
    • 자바에서 클래스는 여러 인터페이스를 구현할 수 있으며, 이를 통해 다중 상속의 이점을 얻을 수 있습니다.

상속과 구현은 둘 다 상위 형식의 계약에 따라 하위 형식이 정의되어야 한다는 점에서 비슷하지만, 주로 사용 목적과 방법에서 차이가 있습니다. 상속은 기존 클래스의 기능을 확장하거나 변경하기 위해 사용되며, 구현은 특정 인터페이스를 준수하는 다양한 클래스들 사이의 공통적인 기능을 정의하는 데 사용됩니다.

자바에서 변수는?

지역 변수 (Local Variables):메서드 내에서 선언되며, 메서드가 실행될 때 생성되고 메서드가 종료될 때 소멸합니다.지역 변수는 메서드 내부에서만 접근 가능하며, 다른 메서드에서는 접근할 수 없습니다.초기화되지 않은 지역 변수는 사용할 수 없으며, 컴파일러가 초기화 여부를 체크합니다.

인스턴스 변수 (Instance Variables):클래스 내부에 선언되며, 각 인스턴스마다 별도로 존재합니다.인스턴스 변수는 객체가 생성될 때 생기고, 객체가 소멸될 때 같이 소멸됩니다.인스턴스 메서드나 생성자 내에서 인스턴스가 생성된 후에 접근할 수 있습니다.주로 객체의 상태를 저장하는데 사용됩니다.

클래스 변수 (Class Variables, Static Variables):static 키워드를 사용하여 클래스 내부에 선언되며, 해당 클래스의 모든 인스턴스들이 공유하는 변수입니다.클래스 변수는 프로그램이 시작할 때 생성되고, 프로그램이 종료될 때 소멸합니다.클래스 이름을 통해 접근할 수 있으며, 객체를 생성하지 않고도 사용할 수 있습니다.주로 고정된 값이나, 클래스 전체가 공유해야 하는 값에 사용됩니다.

스터디 현황

0개의 댓글