public, protected, default, private는 접근 제어자라고 칭한다. 은행을 예시로 들어보면, 은행 창구의 직원과는 고객이 접근할 수 있지만, 은행의 금고와 같은 것은 특별한 권한을 가진 사람만이 접근할 수 있도록 허용되어 있다. 이게 바로 pub
추상 클래스와 일반 클래스의 차이점이라 하면 추상 클래스는 1개 이상의 추상 메소드를 포함하면 추상 클래스가 된다.예를 들어, TV용, 에어컨용, 선풍기용 등 다양한 용도의 리모콘이 있다고 가정해보자.리모콘의 모양이 똑같다는 전재하에 각각의 기능은 모두 다를 것이다.
같은 클래스 내에서 일어난다.동일한 이름을 가진 메소드가 있을 때 매개 변수의 개수나 타입이 다르면 같은 이름을 사용할 수 있다.오버로딩은 같은 이름의 여러개 메소드가 존재할 수 있지만 모두 매개변수가 달라야 한다.부모가 물려준 것을 재정의하는 것이다.상속 받은 메서드
객체지향은 캡슐화, 다형성(추상화)로 개발 비용을 낮춰줄 수 있다.절차지향은 데이터를 여러 프로시저가 공유하는 방식이다.시간이 흐를수록 데이터를 공유하는 방식은 구조를 점점 복잡하게 만들어 수정이 어려워 진다.동일한 데이터를 사용하는 코드가 한두군데가 아니라면 코드의
캡슐화만 잘해도 좋은 코드를 만들 가능성을 높여준다.캡슐화는 데이터와 그 데이터와 관련된 기능을 묶는 것이다.캡슐화를 할 때 객체가 기능을 어떻게 구현했는지는 외부에 보여주지 않는다. 실제 구현에 사용된 데이터가 어떤 타입인지, 그 데이터의 값을 어떻게 사용하는지 외부