2020년 9월 19일 토요일

(자바강의/자바동영상/자바/JAVA동영상/JAVA강의)자바에서 상속이란? Inheritance개념, 예제 실습

(자바강의/자바동영상/자바/JAVA동영상/JAVA강의)자바에서 상속이란? Inheritance개념, 예제 실습

 

https://youtu.be/FDNxI-7s65E


1. 상속

상속은 한 클래스의 기능(필드, 메소드)을 다른 클래스가 그대로 물려 받아 사용하는 것이다. (코드 재사용)

부모가 되는 클래스를 확장해서 새로운 자식 클래스를 만든다(“클래스 확장” 이라 한다.)

IS-A 관계

상위 클래스의 모든 내용을 하위 클래스가 계승

하위 클래스는 상속된 필드와 메소드 중에 private으로 선언된 것이 아닌 것에만 접근할 수 있다.

자바에서 상위 클래스는 오직 한 개만 존재하며 extends 키워드로 상속을 나타낸다.

장점

상위클래스 자체 및 변수, 메쏘드의 재사용

상위클래스를 사용하는 기존 코드의 재사용

논리적 상속 관계에 의한 가독성

final 키워드로 상속되는 것을 막을 수 있다.

 

 

2. 상속(Inheritance)과 생성자

생성자는 상속되지 않음,그러나 하위 클래스의 생성자에 의해 반드시 호출 된다.

하위 클래스 객체가 생성 될때 상속 받은 변수를 저장할 수 있는 메모리도 포함하여 객체에 할당한다.

하위 클래스의 생성자 몸체의 첫번째 문장은 다음중 한가지…

super(…) : 상위 클래스의 생성자를 명시적으로 호출

this(…)    : 동일 클래스의 다른 생성자를 호출

기타 다른 문장이 오면  super() 문장이 컴파일러에 의해 자동 삽입된다.

메모리 할당 방법

상위 클래스의 메모리 영역을 합한 메모리 영역을 힙에 할당

생성자는 단지 할당된 메모리를 초기화하는 역할

 

3. Sub Class Member

 5a4eaeb8d7850d3c0d12776e2b6846d9_1600515 

 

4. 실습

 

5a4eaeb8d7850d3c0d12776e2b6846d9_1600515
 

 

class Emp {

   String ename; 

   public void gotoWork() {      System.out.println(ename + " 출근");   }

}

 

class Programmer extends Emp {

   public Programmer(String ename) {

      //super();

      this.ename = ename;

   }

   public void work() {

      System.out.println(ename + "이 개발 합니다");

   }

}

public class EmpTest  {

   public static void main(String[] args) {

      Programmer p = new Programmer("홍길동");       p.gotoWork();      p.work();

   }

}

 

홍길동 출근

홍길동이 개발 합니다

 

 

#객체지향, #자바객체지향, #JAVA상속이란?, #자바상속이란?, #자바강의, #자바동영상, #자바교육, #자바강좌, #자바, #JAVA, #상속, #자바상속, #자바객체, #자바클래스, #클래스, #JAVA객체, #JAVA클래스, #자바변수, #클래스변수, #인스턴스변수, #자바동영상강의, #JAVA동영상, #JAVA강의, #JAVA강좌, #자바교육, #JAVA교육, #자바소스   

댓글 없음:

댓글 쓰기

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...