BUT 외부에서 함수로 내부의 있는 데이터를 변경 할 수 있음!
보호된 변수는 getter나 setter 등의 메서드를 통해서만 간접적으로 접근이 가능
내부의 복잡한 기능을 다 이해하지 않고 외부에서 보이는 interface를 이용하여 object 사용
= 객체를 구성할 수 있는 다양한 속성 중에서 프로그램에 필요한 속성만 간추려 내어 표현하는 것
ex) 커피머신 : 커피머신의 내부 기능을 알지 못해도 버튼 하나로 커피를 만들 수 있음
상위 클래스의 모든걸 하위 클래스가 모두 이어 받는것.
즉, 부모가 자식에게 유전자를 물려주듯이 부모의 특징을 자식에게 모두 물려줍니다.
코드의 재사용
parent - child
super - sub
base - derived
상속을 통해 기능을 확장하거나 변경하는 것을 가능하게 해준다. 즉, 다형성은 형태가 같은데 다른 기능을 하는 것을 의미.
자바의 오버로드(Overload) 또는 오버라이딩(Overriding)이 다형성의 대표적인 예라 할 수 있습니다.
오버로딩과 오버라이딩 성립조건
구분 | 오버로딩 | 오버라이딩 |
---|---|---|
메서드 이름 | 동일 | 동일 |
매개변수, 타입 | 다름 | 동일 |
리턴 타입 | 상관없음 | 동일 |