독립된 "객체"들의 모임
으로 바라본다.가장큰 이유는 재사용성의 증가 이다.
기존에 만들었던 내용을 쉽게 상속, 다형성 등을 이용해서 재사용이 가능하다.
또한 개발 자의 실수로 인한 취약점을 줄여준다. 취약점이란 급하게 개발을 하면서 코드에 오류가 발생할수 있다. 이럴경우 새로운 패치를 해야 하고 손실을 가져오게 된다.
하지만 생성자, 소멸자, 접근제어 [ Public, Private, Protected ]와 같은 내용은 이러한 오류를 잡아준다.
크게 두가지의 특징이 있다.
첫번째, 특정 역할을 하는 속성(멤버변수), 기능(메서드)을 객체로 묶는다.
두번째, 접근제어자와 같은 기능들을 통해 외부접근으로 부터 데이터를 보호하고 정보를 은닉한다.
public, private, protected
public: 클래스 외부에서 접근가능
private: 클래스 내부에서만 접근 가능
protected : 상속받은 자식 클래스에서만 접근 가능
오버로딩(Overloading)
- 하나의 함수에 여러개의 기능을 부여하는 것.
조건
- 함수명은 동일해야함
- 넘겨주는 인자[메개변수]는 달라야함
- 리턴 타입은 상관 없음
오버라이딩(Overriding)
- 부모 클래스의 메소드를 자식 클래스의 용도에 맞게 재정의하여 코드의 재사용성을 높임
조건
- 함수명 동일해야함
- 넘겨주는 인자 같아야함
- 리턴 타입 같아야함
참조