[Java] 상속(Inheritance)의 개념과 예제

2024. 3. 11. 17:18·BE
728x90
객체지향 프로그래밍의 특징(캡슐화/상속/다형성/추상화)

 

상속(Inheritance)

: 클래스 생성시 부모클래스의 속성을 자식 클래스가 물려받는 것.

상위 클래스의 특성을 하위 클래스가 이어받아서 재사용하거나 추가, 확장하는 것.

 

상속받은 클래스를 정의하기 위해선 extends 키워드와 함께 상속받고 싶은 부모클래스명을 적어주면 된다.

public class 클래스명 extends 부모클래스명 {  
	---  내용 구현  ---  
}

 

부모클래스를 상속받은 자식클래스의 인스턴스는 부모클래스의 멤버와 자식클래스의 멤버를 모두 가지고 생성된다.

부모클래스 멤버는 접근지정자에 따라 자식클래스 접근 범위가 달라진다.

public / protected 자식클래스 어디서나 부모클래스에 직접 접근하여 사용 가능
private 자식클래스에서 부모클래스에 직접 접근하여 사용 불가
default 동일 패키지에 있는 자식클래스에서는 접근 가능하나, 다른 패키지에 있는 자식 클래스에서는 직접 접근 불가

 

  • 자바에서는 다중 상속 지원X (하나의 상속만 가능)
  • 자바의 모든 클래스는 최상위에 Object 클래스를 기본적으로 가지고 있다.
public class Person {			// 부모클래스
	String name;
	private int age;
	
	public void speak() {
		System.out.println("저는 " + name + "입니다.");
	}
}


class Move extends Person {	// 자식클래스 (Person을 상속받음)
	public void walk() {
		System.out.println(name + ": 움직입니다.");
	}
}

 

public class HelloWorld {
	public static void main(String[] args) {
		
		 Move move = new Move();
		 
		 move.name = "dropdew";
		 move.speak();
		 move.walk();
	}
}

//실행결과: 저는 dropdew입니다.
//실행결과: dropdew: 움직입니다.

 

728x90

'BE' 카테고리의 다른 글

[Java] 오버로딩(Overloading) vs 오버라이딩(Overriding)  (2) 2024.03.12
[Java] 추상화(Abstraction)의 개념과 예제  (1) 2024.03.11
[Java] 캡슐화(Encapsulation)의 개념과 예제  (0) 2024.03.11
[Javascript] js remind  (0) 2022.12.13
[javascript] 기본문법  (1) 2022.11.30
'BE' 카테고리의 다른 글
  • [Java] 오버로딩(Overloading) vs 오버라이딩(Overriding)
  • [Java] 추상화(Abstraction)의 개념과 예제
  • [Java] 캡슐화(Encapsulation)의 개념과 예제
  • [Javascript] js remind
DROPDEW
DROPDEW
💻 Developer | 기록하지 않으면 존재하지 않는다
  • DROPDEW
    제 2장 1막
    DROPDEW
  • 전체
    오늘
    어제
    • Dev (444)
      • App·Android (1)
      • BE (50)
        • HTTP 웹 기본 지식 (8)
        • 스프링 입문 - 코드로 배우는 스프링 부트, 웹 .. (12)
        • 스프링부트와 JPA 활용 (11)
        • 스프링부트 시큐리티 & JWT (0)
        • 실전 자바 기본, 중급 (1)
        • PHP (11)
      • FE·Client (23)
        • HTML (1)
        • React (19)
        • Unity (1)
      • Data (28)
        • AI (7)
        • Bigdata (6)
        • Database (1)
        • Python (0)
        • 빅데이터분석기사 (13)
      • Infra (1)
      • Activity (9)
        • Intern (0)
        • SK AI Dream Camp (2)
        • 구름톤 유니브 4기 (1)
        • 리모트 인턴십 6기 (3)
        • 봉사활동 (0)
        • 부스트캠프 AI Tech 8기 (3)
      • CS (8)
      • 취준 (13)
        • 자격증 (4)
        • 인적성·NCS (6)
        • 코테·필기·면접 후기 (3)
      • 코테 (270)
        • Algorithm (222)
        • SQL (35)
        • 정리 (13)
      • 인사이트 (27)
        • 금융경제뉴스 (7)
        • 금융용어·지식 (2)
        • 북마크 (7)
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    백준
    이분탐색
    매개변수탐색
    누적합
    정렬
    브루트포스 알고리즘
    구현
    시뮬레이션
    수학
    다이나믹프로그래밍
    그리디알고리즘
    최단경로
    오블완
    문자열
    티스토리챌린지
    투포인터
    자료구조
    그래프이론
    너비우선탐색
    그래프탐색
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
DROPDEW
[Java] 상속(Inheritance)의 개념과 예제
상단으로

티스토리툴바