- 프로그래밍에서 필요한 데이터를 추상화시켜서 상태(변수)와 행위(메소드)를 가진 객체를 만들고 이 객체들간의 유기적인 상호작용으로 로직을 구성하는 프로그래밍 방법
- 공통의 속성이나 기능을 묶어 이름을 붙이는 것
- 클래스를 정의하는 것
- 관련있는 변수와 메소드를 묶어주는 것
- (JAVA)접근 제어 지시자를 통해 외부 접근을 제한하며 이를 정보은닉이라고 함
- 자식클래스는 상속을 통해 부모클래스의 속성과 기능을 물려받음
- 상속받은 기능의 일부를 수정하여 사용 가능
- 하나의 변수명, 함수명 등이 상황에 따라 다른 의미로 해석되는 것
- 오버로딩, 오버라이딩 개념
- 오버로딩
- 같은 클래스 내에서 동일한 이름의 함수를 여러 개 정의하고 매개 변수의 유형과 개수를 다르게 하는 것.
- 오버라이딩
- 부모 클래스의 메소드를 자식 클래스가 재정의 하는것.
구분 | 오버로딩 | 오버라이딩 |
---|---|---|
메소드 이름 | 동일 | 동일 |
매개변수, 타입 | 다름 | 동일 |
리턴 타입 | 상관없음 | 동일 |
- 코드의 재사용 용이
- 유지보수가 쉬움
- 대형 프로젝트에 적합(모듈화)
- 처리속도가 상대적으로 느림
- 객체가 많으면 용량이 커질 수 있음
- 설계시 많은 시간과 노력이 필요