58일차_JAVA

서창민·2023년 6월 1일
0

JAVA

목록 보기
11/21
post-thumbnail

23.06.01 목 58일차

JAVA

  • 상속
: 객체지향 프로그램에서 부모클래스의 필드와 메소드를 자식클래스에 물려주는 것

특징
: 중복코드를 줄여 개발시간을 단축시킨다.

- 클래스 상속
: 자식 클래스를 선언할때 어떤 부모클래스로부터 상속 받을 것인지를 결정하고, 부모 클래스를 extends 뒤에 기술한다.

EX) public class 자식클래스 extends 부모 클래스{

	}
    
자바에서의 클래스 상속
: 다중 상속을 허용하지 않는다.(여러개의 부모 클래스를 상속 할 수 없다.)

부모 생성자 호출

: 부모 생성자는 자식 생성자의 맨 첫줄에 숨겨져있는 super()에 의해 호출된다.

public 자식클래스...{
	super();
}

super()는 커ㅁ파일 과정에서 자동 추가되며 부모의 기본 생성자를 호출한다.

final 클래스와 메소드

public final Class 클래스{}
: 자식 클래스를 만들 수 없다.

public final 리턴타입 메소드(매개변수,...){}
:부모 클래스를 상속해서 자식 클래스를 선언할때 부모클래스에 선언된 final 메소드를 오버라이딩 할 수 없다.

protected 접근 제한자

: 다른 패키지일때 상속을 받아서만 가능하다.


A 파일
package ch8;

public class A {
	protected String field;
	
	protected A() {}
	
	protected void method() {}
}



C 클래스 파일
package examtbl;
import ch8.A;
public class C extends A{
	// 상속을 통해서는 부를 수 있다.
	public C() {
		super();
	}
	public void method1() {
		this.field="value";
		this.method();
	}
	
	// 직접 객체를 생성해서 사용하는것은 불가능 하다.
	public void method2() {
		A a = new A();
		a.field = "value";
		a.method();
		
	}
}

추상 클래스

: 객체를 생성할 수 있는 클래스의 공통적인 필드나 메소드를 추출하여 선언한 클래스를 추상 클래스라고 한다.
: 직접 NER를 사용할 수 없고 상속을 통한 자식을 통해서만 사용 가능하다.

기본 형식 
public abstract class 클래스명 {
	// 필드
    // 생성자
    // 메소드
}

추상 메소드

: 추상 메소드는 추상 클래스 안에서만 사용할 수있다.

기본 형식
abstract 리턴타입 메소드명 (매개변수, ...);
profile
Back-end Developer Preparation Students

0개의 댓글