✍캡슐화(Encapsulation)
실제로 구현되는 부분을 외부에 드러나지 않도록 캡슐화 하여 보호한다.
외부객체는 내부의 구조를 얻지 못하며 객체가 노출해서 제공하는 필드와 메소드만 이용 가능하다.
외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 한다.
✍상속(Inheritance)
:현존하는 클래스가 있을때 이 클래스의 속성과 메소드를 물려받는 것이다
상속을 사용하여 재사용성과 확장성을 높일수 있다.
✍다형성(polymorphism)
:다형성이란 하나의 객체가 여러 가지의 타입을 가질 수 있는 것을 의미한다.
부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 하여 구현하고 있다.
✍추상화(Abstraction)
:추상화란 객체들에게서 공통적인 속성과 행위를 추출하는 것이다.
불필요한 부분을 생략하고 객체의 속성 중 가장 중요한 것에만 중점을 둔 것이다.
1.코드의 재사용성이 높다.
새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성 가능하다.
2.코드 관리가 용이하다.
코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할수 있다.
3.신뢰성이 높은 프로그래밍을 가능하게 한다.
제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며,
코드의 중복을 제거하여 코드의 불일치로 인한 오작동을 방지할 수 있다.