객체지향 용어 및 개념

용어 정리

클래스

클래스란 실제 대상을 추상화한 속성과 기능을 갖는 설계도 같은것 이다

객체

객체는 클래스로부터 만들어진 실체화된 대상이다. 인스턴스라고도 한다.

멤버 변수

클래스에 데이터를 할당 하는 변수를 멤버 변수라고 한다. 속성이라고도 한다.

멤버 함수

클래스의 기능(행동)을 담당하는 함수를 멤버 함수라고 한다. 메서드라고도 한다.

추상화(abstraction)

실제 대상의 복잡한 속성(행동)들 중에서 응용프로그램에 필요한 속성이나 기능을 추출하여 모델로 표현하는것을 추상화(abstraction)라고 한다.

추상화의 예

자동차 속성 : 차종, 가격, 연식, 연료, 주행거리, 색상, 변속기, 차량번호, 타이어, 최고속력, 가속력 ... 기능 : 판매, 구매, 전진, 후진, 좌회전, 우회전, 주차, 정차 ...

  • 중고차 매매에 필요한 속성과 기능 속성 : 차종, 가격, 연식, 연료, 주행거리, 색상, 변속기, 차량번호 행동 : 판매

  • 자동차 게임에 필요한 속성과 기능 속성 : 차종, 색상, 변속기, 타이어, 최고속력, 가속력 기능 : 전진, 후진, 좌회전, 우회전, 정차

캡슐화(encapsulation)와 정보은닉(infomation hiding)

객체 내부의 데이터(속성)에 직접적인 접근을 차단하고 공개된 인터페이스(메서드)를 이용하여 조작하게 하는것

캡슐화, 정보은닉 예

TV를 볼때 사용자는 TV내부의 회로가 어떻게 동작하는지 알지 못해도 제공되는 리모콘을 통해 전원, 채널변경, 음량변경등을 사용하여 TV를 시청할 수 있는것이다.

Last updated