Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Kim ByeungHyun

클래스 상속 본문

Laguage/Java

클래스 상속

sandbackend 2022. 10. 10. 10:50

부모 클래스를 상위클래스, 자식 클래스를 하위 클래스 or 파생 클래스

 

상속을 하는 이유? 

이미 마련되어 있던 클래스를 재사용해서 만들수 있기 때문에 효율적이고, 개발 시간을 줄여준다.

 

 

 

클래스 상속

class 자식 클래스 extends 부모클래스 {

    //필드

    //생성자

    //메소드

}

 

- 특징

1. 여러개의 부모클래스를 상속 할 수 없다. // 다중상속

2. private접근 제한을 갖는 필드와 메소드는 상속 대상에서 제외된다.

3. 여러개의 자식클래스는 있을수 있다.

 

 

 

 

 

부모생성자 호출

DmbCellPhone dmbCellPhone = new DmbCellPhone();

-> 자식생성자를 작성하면, 부모생성자는 컴파일러에 의해 자동적으로 기본 생성자가 만들어진다.

 

super();

-> 부모의 기본 생성자를 호출합니다.

-> 자식클래스 안에서 부모 생성자를 호출하고 싶다면

자식클래스( 매개변수선언, ...) {

    super(   매개값, ... ) ;

}

*사용시 반드시 자식 생성자 첫 줄에 위치 해야 한다.

-> 개발자가 작성하지 않으면 컴파일러가 자동으로 넣어준다.

 

 

매소드 재정의

부모클래스의 모든 메소드가 자식 클래스가 사용하기에 적합하지 않을수도있어서 상속된 메소들 다시 수정해서 사용한다.

 

자식클래스에서 부모클래스의 매소드를 재정의

- 부모 메소드와 동일한 리턴타입, 메소드 이름, 매개 변수 목록 을 가져야 한다.

- 접근 제한을 더 강하게 재정의 할 수 없다.

- 새로운 예외(Exception)를 throws 할 수 없다.

 

부모 객체의 메소드는 숨겨지기 때문에, 자식 객체에서 메소드를 호출하면 재정의된 자식 메소드가 호출된다.

@Override를 이용한 안정

 

 

부모 메소드 호출

super.부모메소드();

320p

 

 

 

++

Object 클래스

자바에서 Object 클래스는 모든 클래스의 부모 클래스가 되는 클래스입니다.

따라서 자바의 모든 클래스는 자동으로 Object 클래스의 모든 필드와 메소드를 상속받게 됩니다.

 

즉, 자바의 모든 클래스는 별도로 extends 키워드를 사용하여 Object 클래스의 상속을 명시하지 않아도 Object 클래스의 모든 멤버를 자유롭게 사용할 수 있습니다.

자바의 모든 객체에서 toString()이나 clone()과 같은 메소드를 바로 사용할 수 있는 이유가 해당 메소드들이 Object 클래스의 메소드이기 때문입니다.

http://www.tcpschool.com/java/java_api_object

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

 

 

'Laguage > Java' 카테고리의 다른 글

쓰레드의 구현  (1) 2022.10.25
람다와 스트림  (0) 2022.10.25
Generic  (0) 2022.10.24