OOP의 4가지 특징
캡슐화- 데이터와 코드의 형태를 외부로부터 알 수 없게 하고, 데이터의 구조와 역할, 기능을 하나의 캡슐 형태로 만드는 방법
추상화- 클래스들의 공통적인 특성(변수, 메소드)들을 묶어 표현하는 것
상속화- 부모 클래스에 정의된 변수 및 메서드를 자식 클래스에서 상속받아 사용하는 것
다형화- 다양한 형태로 표현이 가능한 구조를 말한다.
캡슐화 #
데이터와 코드의 형태를 외부로부터 알 수 없게 하고, 데이터의 구조와 역할, 기능을 하나의 캡슐 형태로 만드는 방법(정보 은닉)
- 캡슐화 방법
- 멤버 변수 앞에 접근 제어자 private를 붙인다.(private : 자기 클래스에서만 접근할 수 있는 것)
- 멤버 변수에 값을 넣고 꺼내 올 수 있는 메서드를 만든다(getter setter)
추상화 #
클래스들의 공통적인 특성(변수, 메소드)들을 묶어 표현하는 것
상속화 #
부모 클래스에 정의된 변수 및 메서드를 자식 클래스에서 상속받아 사용하는 것
ex) extends라는 키워드 이용
다형화 #
메시지에 의해 객체가 연산을 수행하게 될 때, 하나의 메시지에 대해 각 객체가 가지고 있는 고유한 방법으로 응답할 수 있는 능력
- 다영화 지원 방법
- 오버로딩
- 오버 라이딩
오버로딩 #
하나의 클래스 안에서 같은 이름의 메서드를 여러 개 정의하는 것
오버라이딩 #
부모 클래스로부터 상속받은 메서드 내용을 변경하여 사용하는 것
매개변수와 리턴 타입이 같아야 함