본문 바로가기

캡슐화

(2)
추상화, 캡슐화, 다형성 디자인 패턴 책을 보다가 객체지향 기본 개념인 추상화, 캡슐화, 다형성이 가물가물 하여서 다시 찾아본 내용을 정리함. 객체지향개발(Object Oriented Programming)의 특성은 크게 추상화, 캡슐화, 상속성, 다형성이 있다. 1) 추상화(Abstraciton)- 공통의 속성이나 기능을 묶어 이름을 붙이는 것- 객체 지향적 관점에서 클래스를 정의하는 것을 바로 추상화라고 정의 내릴 수 있겠다.- 좀 더 살펴보면 물고기, 사자, 토끼, 뱀이 있을 때 우리는 이것들을 각각의 객체라 하며 이 객체들을 하나로 묶으려 할 때, 만약 동물 또는 생물이라는 어떤 추상적인 객체로 크게 정의한다고 하자. 이때 동물 또는 생물이라고 묶는 것을 추상화라고 한다. 2) 캡슐화(Encapsulation)- 데이터 ..
객체지향 프로그래밍의 특징 - 은닉화, 상속 그리고 다형성 1. 은닉화 멤버 필드(데이터)를 안전하게 보관하려고 접근 제한자 private을 사용하며, 메서드는 public을 사용하여 멤버 필드를 보호하는 것을 은닉화(encapsulation)이라고 한다. 2. 다형성객체지향 개념에서의 다형성이란 '여러 가지 형태를 가질 수 있는 능력'을 의미하며, 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현한다. 이를 좀 더 구체적으로 말하자면, 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하였다는 것 입니다. 다음 예제에서는 이러한 다형성을 세가지로 나누고 있다.ⓐ 레퍼런스 다형성 - 부모(Ball)의 타입으로 자식(BaseBall)의 객체를 생성하는 것ⓑ 아규먼트 다형성 - 부모의 이름..