티스토리 뷰

JAVA

[JAVA] 객체 지향의 특징 4가지

PeonyF 2023. 2. 23. 08:14
반응형

캡슐화 

서로 연관있는 속성과 기능들을 하나의 캡슐로 만들어 데이터를 외부로부터 보호

추상화

선언만있고 구현내용이 없거나, 일부만 구현한 미완성 클래스.

 

다형성(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

https://just-my-blog.tistory.com/20

https://lelumiere.tistory.com/5

반응형

'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
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함