더북(TheBook)

47.3 개체 지향 프로그래밍의 네 가지 큰 개념

개체 지향 프로그래밍(OOP)에는 네 가지 큰 핵심 개념이 있는데, 추상화(abstraction), 캡슐화(encapsulation), 상속(inheritance), 다형성(polymorphism)이 그것입니다. 캡슐화는 캡슐약처럼 그 안의 내용을 숨기는 것이고, 상속은 부모 재산을 자식에게 상속하여 능력을 주는 것입니다. 다형성은 변신 로봇처럼 다양한 형태를 가질 수 있는 능력이며, 추상화는 인터페이스 또는 추상 클래스에서 상속받아 구현하는 설계 관련 개념입니다.

 

캡슐화

우리가 지금까지 사용한 필드는 특별한 경우가 아니면 private으로 클래스 안에서만 사용해 왔습니다. 필드는 꽁꽁 숨기는 것이 가장 좋습니다. 즉, 부품 역할을 하는 필드는 가루약을 캡슐에 넣어 관리하는 것처럼 프로그래밍에서도 필드를 꽁꽁 숨기는 개념이 바로 캡슐화입니다. 캡슐화는 구조화된 데이터 개체 값 또는 상태를 숨겨 권한이 없으면 접근하지 못하도록 차단합니다. 캡슐화의 또 다른 의미는 연관된 자료 구조와 메서드(함수)를 한 테두리로 묶는 것입니다. 이 책의 원칙 중 하나는 필드는 private이고 public으로 외부에 공개할 때는 속성을 사용하는 것입니다.

 

상속

부모 클래스의 멤버를 자식 클래스에서 재사용하는 개념을 상속이라고 합니다.

 

다형성

특정 클래스의 메서드는 매개변수에 따라 여러 가지 다양한 형태일 수 있습니다. 즉, 이러한 클래스의 특징을 다형성이라고 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.