티스토리 뷰
반응형
캡슐화
서로 연관있는 속성과 기능들을 하나의 캡슐로 만들어 데이터를 외부로부터 보호
추상화
선언만있고 구현내용이 없거나, 일부만 구현한 미완성 클래스.
다형성(polymorphism)
어떤 객체의 속성이나 기능이 그 맥락에 따라 다른 역할을 수행할 수 있는 객체지향의 특성
*다형성을 극대화 하기 위해 추상클래스나 인터페이스를 이용한다.
- 오버라이딩 : 상위클래스의 메소드와 같은 이름,반환형,인자는 같아야 하지만 함수 내부 내용은 달라도 된다.
//상위 클래스
public int add (int a, int b)
{
return a + b;
}
//하위 클래스
public int add (int a, int b)
{
return a * b;
}
- 오버로딩: 메소드 이름만 같고 반환형,파라미터의 개수가 다른것
public int add (int a, int b)
{
return a + b;
}
public int add (int a, int b, int c)
{
return a + b + c;
}
상속성 (재사용)
상위 개념의 특징을 하위 개념이 상속하고 거기에 더해 필요한 특성을 추가하는것(확장해서 사용 가능)
객체 지향의 상속은 부모-자식 같은 계층도나 조직도가 아닌 동물-포유류 같은 분류도라는 사실을 꼭 기억하자.
public class Animal{
String group;
Animal(){
group = "동물";
}
void showMe(){
System.out.println(group);
}
}
public class Mammal extends Animal {
public Mammal() {
group = "포유류";
}
}
public class Whale extends Mammal {
public Whale() {
group = "고래";
}
}
상속관계 표현 :: Kind of
- 하위 클래스 is a kind of 상위 클래스
- 고래 is a kind of 동물 : 고래는 동물의 한 분류이다.
* 객체 지향의 상속은 상위 클래스의 특성을 재사용하는 것이다.
* 객체 지향의 상속은 상위 클래스의 특성을 확장하는 것이다.
* 객체 지향의 상속은 is a kind of 관계를 만족해야 한다.
*참고자료
https://server-engineer.tistory.com/219
반응형
'JAVA' 카테고리의 다른 글
[JAVA] Static과 NonStatic (0) | 2023.04.11 |
---|---|
[JAVA] HashMap, HashTable, ConcurrentHashMap,LinkedHashMap 차이 (0) | 2023.04.04 |
[JAVA] 인터페이스 (0) | 2023.02.23 |
[JAVA] 람다 (1) | 2023.01.30 |
자바 문자열 파싱(parsing) : StringTokenizer (0) | 2023.01.27 |
댓글