본문 바로가기

Study/Java

Java12_클래스의 상속

728x90

Content.

1. 객체지향프로그램의 3대 특징

2. 캡슐화

3. 상속

 

1. 객체지향프로그램의 3대 특징

1) 캡슐화 : 클래스의 소스를 숨기거나 필드를 private 수식어로 숨김

2) 상속 : 기존의 클래스를 다른 클래스가 재활용 cf. 기존 클래스(= 슈퍼클래스) 재활용하는 클래스(= 서브클래스)

3) 다형성 : 슈퍼클래스를 자료형으로 생성한 변수로 서브클래스의 객체를 참조할 수 있음.

 

2. 캡슐화

구분 비 캡슐화 캡슐화 메인클래스
사용법 public class A {
         int num;
}
public class B {
          private int num;
}
class Main {
     public static void main(String[] args) {
            A objA = new A( );
            objA.num = 10; // 사용가능
            B objB = new B( );
            // objB.num = 20;
            // 사용불가능(필드숨김)
      }
}
내용 메인 클래스에서
필드 직접 사용 가능
메인 클래스에서
필드 직접 사용 불가능

 

3. 상속

구분 슈퍼클래스 서브클래스 메인클래스
사용법 class A {
        private int num;
        A (int num) {
             this.num = num;
        }
        void mtdA( ) {
            System.out.println( this.num);          }
}
class B extends A {
           B (int num) {
                super(num);
           // 슈퍼클래스의
           // 객체를
           // 생성하기위한
           // 생성자
      }
}
class Main {
       public static void main(String[] args) {
       
          B obj = new B(30);
          obj.mtdA( );
     }
}
명칭 슈퍼클래스 서브클래스 서브클래스의 객체를 생성하면 슈퍼클래스의 구성요소를 참조(=사용)할 수 있음.

 

[상속의 이해]

ex1. 사용자정의클래스를 생성하여 메인클래스에서 배열 값 3개를 전달하여 합계를 구함.

ex2. 합계를 구한 클래스를 상속받은 사용자정의클래스를 생성하여 평균을 구함.

 

반응형

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

Java14_수식어  (0) 2022.05.14
Java13_인터페이스&구현  (0) 2022.05.14
Java11_커스텀클래스&객체  (0) 2022.05.14
Java10_예외처리  (0) 2022.05.14
Java09_메서드  (0) 2022.05.14