OOP(다형성, 캡슐화)
다형성(Polymorphism)
= ex) 운전할 수 있으면 차 종류에 관계없이 운전 가능하다 -> 다형성이 되어있음
마우스 종류가 달라져도 마우스 사용이 가능하다 -> 다형성이 되어있음
내가 쓰는게 ms word 일때 아래한글 사용하기 힘듬 -> 다형성이 되어있지 않음
ex) KS system
KS----->A사, B사, C사 KS의 기능이면 A,B,C사의 똑같은 기능이다(자동차 브레이크)
KS s = new KS(); S.기능 을 사용한다는 의미
--> KS만 알면 A,B,C에서 사용이 가능하다
--------------------------->즉, 동일한 인터페이스를 사용할 수 있도록 한다. 다형성이 되어있다.
•Java Language에서 Method Overloading, Method Overriding, Abstract Method, Abstract Class, Interface등으로 System에 구현할 수 있다.
• Overloading
제조사 별로 추가적인 기능은 달라도 공통적인 마우스의 기능, 공통적인 운전 방법은 우리가 알고 있다.
하나의 예로 동일한 method Name이지만 arguments의 Data Type의 종류와 개수에 따라 무수히 많은 Class가 존재한다.
///method overloading
public void class mouse(기능1){
}
public void class mouse(기능1, 기능2){
}
public void class mouse(기능1, ....){
}
• Method Overloading
다형성을 지원하는 기술로 동일한 name을 갖고 있는 method에 parameter 선언해 주고, 입력 받는 arguments의 Data Type, 개수 등에 따라 다른 기능을 수행할 수 있게 해준다.
하나의 bean과 class에서 사용하는 기술이다.
• Method Overriding
Superclass의 Method의 이름을 Subclass에 복제하여 필요한 내용으로 재 정의 하는 기술
public class A{
public void charge(){
System.out.println("학생: 300, 일반인: 500");
}
}
public class B extends A{
public void charge(){
System.out.println("학생: 300");
}
캡슐화(Encapuslation)
= 우리는 information hiding 된 객체이다.
º public과 privite등의 modifier을 통해 정보의 공개 여부를 결정한다. 또한 setter / getter Method를 통해 Information Hiding된 정보에 접근한다.
ex) 친분이 있는 사람에게는 이름, 나이 등의 정보를 알려주지만
친분이 없는 사람에게는 통상적으로 이름, 나이 등을 쉽게 알려주지 않는다.
Author And Source
이 문제에 관하여(OOP(다형성, 캡슐화)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@csh3064/OOP다형성-캡슐화저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)