상세 컨텐츠

본문 제목

상속 (Inheritance)

Coding (코딩)/Java (자바)

by 매일매일 배우는 개발자 2020. 9. 8. 12:30

본문

728x90

객체지향언어에서 가장 중요한것중 하나는 코드의 재활용성 이다. 즉, 상속은 원래있던(부모객체) 객체의 변수 및 메소드를 다른 객체(자식)가 사용할 수 있다.

 

상속은 기존의 객체를 그대로 유지하면서 자신의 새로운 기능을 추가할 때 사용한다.

 

사용방법은 아래와 같다

 

더보기

class "자식 class 명" extends " 부모 class 명"

※ 먼저 코드를 통해 이해하도록 하자.

 

package calss;

class car{
	int a; // 매개변수 선언
	
	public void clutch(int a) {
			this.a = a; // a 는 this.a 저장 후 clutch 함수의 this.a 파라미터를 갖는다
			
			
	}
	public void first() {
		if(this.a == 0) {
			
			System.out.println("이동중이 아닙니다.");
		} else {
			System.out.println(a + " 단으로 차가 이동중입니다.");
		}
	} 
	
}

public class car1 {

	public static void main(String[] args) {

		
		Stop s1 = new Stop();
		
		s1.clutch(1);
		s1.first();				
		s1.stop();
	}

}
package calss;

public class Stop extends car{

		void stop() {
			if(this.a != 0) { // this.a는 car 클레스에 있던 매개변수를 상속받았다.
				System.out.println("차가 이동중입니다. 조심하세요");
			}
			
		} 
		
		

}

 이렇게 다른 두개의 class가 있다고 해서 "extends" 라는 함수를 통해 car class에 있던 매개변수와 메소드를 상속 받을수 있다.

 

이후 main method에  s1변수를 인스턴스 하여 클러치 함수의 아규먼트자리에 숫자"1"을 넣으면

"1 단으로 차가 이동중입니다.
차가 이동중입니다. 조심하세요"

이라는 실행문이 실행된다.

 

상속은 extends라는 함수를 통해 부모class의 매개변수, 메소드를상속받을수 있다.

 

더보기

부모자식간 클레스를 "super class- sub class  ||  base class-derived class 라고도 한다."

용어설명

매개변수 (파라미터) - parameter : 메소드에 변수로 전달되며, 메소드 뒤에 지정된다

아규먼트 - argument : 함수흫 호출받는 값들을 말한다.

 

 

728x90

관련글 더보기