객체지향 특징

지윤·2021년 2월 9일
0

Java

목록 보기
10/21

객체지향 vs 절차지향

https://brownbears.tistory.com/407
https://jhnyang.tistory.com/m/322?category=850633

1. 다형성(Polymorphism)

  • 다양한 형태로 나타내는 것
  • 하나의 타입에 여러 객체를 대입하여 다양한 기능을 이용할 수 있도록 한다. 대표적으로 조상 클래스 타입의 참조 변수로 자손 클래스의 인스턴스를 참조할 수 있다.
  • 오버로딩(동일한 이름 다르게 동작하는 메소드)
  • 오버라이딩(서브 클래스에서 슈퍼 클래스의 메소드를 자신에 맞게 재구현하는 것)
  • 유지보수 향상

2. 추상화(Abstraction)

  • 공통된 속성과 행위를 추출하는 것

3. 캡슐화(Encapsulation)

  • 알약 안에 어떤 것들이 들어있는지 모르는 것 처럼 객체 내부를 외부로부터 감추는 것
  • 즉, 내부 구성을 몰라도 특정 허용 메소드를 사용하면 원하는 결과를 얻을 수 있게 함으로써 생산성을 향상 시킬 수 있다.
  • 외부에서 내부 데이터를 함부로 변경할 수 없도록 데이터를 보호한다. (정보 은닉)
  • 접근지시자를 이용하여 구현한다.
  • 낮은 결합도를 유지

4. 상속(Inheritance)

  • 클래스의 데이터와 메소드를 다른 클래스에 물려주거나 물려받는 것
  • 재사용, 코드 중복 제거, 생산성 및 유지보수 향상
profile
헬로🙋‍♀️

0개의 댓글