Code States | OOP 심화(1) - 상속

yeonk·2022년 5월 24일
1

codestates-backend-bootcamp

목록 보기
10/19
post-thumbnail

💡 먼저 보면 좋을 자료
Code States | OOP 기초(1) - 클래스와 객체
Code States | OOP 기초(2) - 필드와 메서드
Code States | OOP 기초(3) - 생성자
Code States | 오버라이딩과 오버로딩






1. 객체지향 프로그래밍의 핵심

객체지향 프로그래밍의 4가지 핵심 요소로 상속, 캡슐화, 다형성, 추상화 가 있다.






2. 상속(Inheritance)


자식 클래스(하위 클래스)가 부모 클래스(상위 클래스)의 기능을 그대로 물려받는 것
→ 기존 클래스 재사용(상위 클래스의 멤버 역시 포함)

  • 코드 재사용으로 중복 제거

  • 다형성 지원

  • 자바는 다중 상속을 지원하지 않음(단일 상속만 허용)

  • extends 키워드 사용

class 하위클래스명 extends 상위클래스명 {
	코드
}






3. 포함 관계


클래스간 기능 공유가 필요할 때, 다른 클래스 타입의 참조변수를 선언하여 포함 괸계를 사용할 수 있음

public class Circle {
	
   // 포함 관계
	Point x; 

}






4. 메서드 오버라이딩(Method Overriding)


상속받은 상위 클래스의 메서드를 재정의 하는 것

  • 조건

    • 메서드 이름, 매개변수, 반환타입이 일치해야 함

    • 접근 제어자 범위: 하위 클래스 >= 상위 클래스

    • 상위 클래스 메서드보다 더 많은 예외 선언 불가






5. super / super()


super 키워드: 상위 클래스의 객체
super(): 상위 클래스 생성자

  • super()

    • 생성자 안에서 선언 가능

    • 가장 첫 줄에 선언 되어야함 (미선언 시 컴파일러가 삽입)






6. Object 클래스


최상위에 위치한 상위클래스
자바의 모든 클래스는 해당 클래스를 상속






Object 클래스 메서드들

  • toString()

  • equals(Object obj)

  • hashCode()
  • wait()

  • notify()






7. 참고 자료


상속

[자바JAVA]상속/포함관계

0개의 댓글