티스토리 뷰
주의 사항!
- 이 글은 제가 직접 공부하는 중에 작성되고 있습니다.
- 따라서 제가 이해하는 그대로의 내용이 포함됩니다.
- 따라서 이 글은 사실과는 다른 내용이 포함될 수 있습니다.
캡슐화
캡슐화란 객체의 필드, 메서드를 하나로 묶고, 실제 구현 내용을 감추는 것을 말합니다. 외부 객체는 객체 내부의 구조를 알지 못하며 객체가 노출해서 제공하는 필드와 메서드만 이용할 수 있습니다.
필드와 메서드를 캡슐화하여 보호하는 이유는 외부의 잘못된 사용으로 인해 객체가 손상되지 않도록 하는 데에 있습니다. 자바는 캡슐화된 멤버를 노출시킬 것인지, 숨길 것인지를 결정하기 위해서 접근 제한자를 사용합니다. 접근 제한자는 객체의 필드와 메서드의 사용 범위를 제한함으로써 외부로부터 보호합니다.
상속
객체 간의 관계에서 상속 관계에 대해 얘기했습니다. 이 관계에 의해 객체는 부모 역할의 상위 객체와 자식 역할의 하위 객체로 나뉠 수 있습니다. 상위 객체는 자기가 가지고 있는 필드와 메서드를 하위 객체에게 물려주어 하위 객체가 사용할 수 있도록 합니다.
예를 들어 필드 1, 필드 2, 메서드 1, 메서드 2를 가지는 객체를 설계한다고 가정하겠습니다. 4개를 처음부터 설계하는 것보다는 이미 필드 1과 메서드 1이 있는 객체가 있다면, 이것을 상속하고, 필드 2와 메서드 2만 설계하는 것이 보다 효율적이고 개발 시간을 절약시켜줄 수 있습니다.
상속은 상위 개체의 수정으로 모든 하위 객체들의 수정 효과를 가져오므로 유지 보수 시간을 최소화시켜주기도 합니다.
다형성
다형성은 같은 타입이지만 실행 결과가 다양한 객체를 이용할 수 있는 성질을 말합니다. 코드 측면에서 보면 다형성은 하나의 타입에 여러 객체를 대입함으로써 다양한 기능을 이용할 수 있도록 해줍니다. 자바는 다형성을 위해 부모 클래스 또는 인터페이스의 타입 변환을 허용합니다. 부모 타입에는 모든 자식 객체가 대입될 수 있고, 인터페이스 타입에는 모든 구현 객체가 대입될 수 있습니다.
다형성의 효과로 객체는 부품화가 가능합니다. 예를 들어 자동차를 설계할 때 타이어 인터페이스 타입을 적용했다면 이 인터페이스를 구현한 실제 타이어들은 어떤 것이든 상관없이 장착(대입)이 가능합니다.
'공부 일지 > JAVA 공부 일지' 카테고리의 다른 글
자바, 객체 생성과 클래스 변수 (0) | 2021.04.06 |
---|---|
자바, 클래스 (0) | 2021.04.06 |
자바, 객체 (0) | 2021.04.06 |
자바, 열거 타입 (0) | 2021.04.05 |
자바, 향상된 for문 (0) | 2021.04.05 |