ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 17. 객체지향 프로그래밍_2 (1/2)
    [JAVA] 2023. 5. 22. 20:42

    1. 상속

    - 기존의 클래스로 새로운 클래스를 작성하는 것 (코드의 재사용)
    - 두 클래스를 부모와 자식으로 관계를 맺어주는 것.
    - 자손은 조상의 모든 멤버를 상속 받는다. (생성자. 초기화블럭 제외)
    - 자손의 변경은 조상에 영향을 미치지 않는다.


    2. 포함

    - 클래스의 멤버로 참조변수를 선언하는 것
    - 작은 단위의 클래스를 만들고, 이 들을 조합해서 클래스를 만든다.

    * 상속관계는 is-a관계 포함관계는 has-a관계
    ** 프로그래밍 = 설계(90%) + 코딩(10%)


    3. 단일 상속(single Inheritance)

    - Java는 단일상속만을 허용한다 (C++는 다중상속 허용)
    - 비중이 높은 클래스 하나만 상속관계로, 나머지는 포함관계로 한다.

     

    4. Object 클래스 - 모든 클래스의 조상

    - 부모가 없는 클래스는 자동적으로 Object 클래스를 상속 받게 된다.
    - 모든 클래스는 Object클래스에 정의된 11개의 메서드를 상속 받는다.
      (toString(), euqals(Object obj), hashCode(), ...)


    5. 오버라이딩 overriding
    - 상속 받은 조상의 메서드를 자신에 맞게 변경하는 것
     1) 오버라이딩의 조건
        - 선언부가 조상 클래스의 메서드와 일치해야 한다.
        - 접근제어자를 조상 클래스의 메서브보다 좁은 범위로 변경할 수 없다.
        - 예외는 조상 클래스의 메서드보다 많이 선언할 수 없다.
    * 오버로딩은 기존에 없는 새로운 메서드를 정의하는 것 (new)
      오버라이딩은 상속 받은 메서드의 내용을 변경하는 것 (change, modigy)


    6. 참조변수 super

    - 객체 자신을 가리키는 참조변수. 인스턴스 메서드(생성자)내에만 존재
    - 조상의 멤버를 자신의 멤버와 구별할 때 사용
    * 조상의 생성자를 사용 할 때는 조상클래스의 생성자를 호출 super(x, y);


    7. 패키지(package)

    - 서로 관련된 클래스의 묶음
    - 클래스는 클래스 파일, 패키지는 폴더, 하위 패키지는 하위 폴더

    8. import문

    - 클래스 사용 시 패키지 이름 생략 가능
    - 컴파일러에게 클래스가 속한 패키지를 알려준다.
    * static import문은 static멤버를 사용할 때 클래스 이름을 생략할 수 있게 해준다.


    9. 제어자 modifier

    - 클래스와 클래스의 멤버에 부가적인 의미 부여
     1) 접근제어자 : public, protected, (default), private
     2) 그 외 : static, final, abstract, native, transient ...
    - 하나의 대상에 여러 제어자를 같이 사용가능 (접근제어자는 하나만)

Designed by Tistory.