[Java] 캡슐화, 상속

정보구니·2021년 12월 27일
0

Java

목록 보기
24/39
post-thumbnail

캡슐화


  • 하나의 목적을 이루기 위해 관련 있는 모든 것을 하나의 클래스에 담아 두는 것이다.
  • 클래스들을 적절히 캡슐화 시키면 프로그램이 간결해진다.
	public static void main(String[] args) {
		ColdPatient patient = new ColdPatient();  // 환자 생성		
		patient.coldTakeList(new ColdCap());
		
	}
}


class ColdCap {
	void snot() {    // 콧물 처치
		System.out.println("콧물이 싹~ 납니다.");
	}
	
	void sneeze() {  // 재채기 처치
		System.out.println("재채기가 멎습니다.");
	}
	
	void snuffle() {    // 코 막힘 처치
		System.out.println("코가 뻥 뚫립니다.");
	}
	
	void coldTake() {  // 약의 복용 방법 및 순서가 담긴 메소드
		snot();
		sneeze();
		snuffle();
	}
}

class ColdPatient {
	void coldTakeList(ColdCap cap) {
		cap.coldTake();
	}
}

캡슐화를 시킨 예제를 보면 한 클래스 안에 각 증상별 약 캡슐을 메소드로 만들어 담아주었고 약의 복용 방법 및 순서가 담긴 메소드 또한 정의해주었다.
이로써 "약은 콧물, 재채기, 코막힘 순으로 복용을 해야한다."라는 사항이 지켜졌고 한눈에 보기도 간편해졌다.




상속


  • 상속이란, 기존 클래스를 재사용하여 새로운 클래스를 작성하는 것이다.
  • 상속을 통해 클래스를 작성하면 보다 적응 양의 코드로 새로운 클래스를 작성할 수 있고, 코드를 공통적으로 관리할 수 있기 때문에 코드의 추가 및 변경이 용이하다.



특성

  • 자손은 조상의 모든 멤버를 상속 받는다.(생성자, 초기화블럭은 제외)
  • 자손의 멤버개수는 조상보다 같거나 많다.

0개의 댓글