가장 기본적이면서, 당연히 알 것 같지만 사실 너무 기본적이기 때문에 쉽게 잊고 넘어갈 수 있는 개념이라고 생각하는 주제이다.
면접 볼 당시에 개발을 모르는 사람에게 클래스에 대한 설명을 해준다면 어떤식으로 해줄 수 있을까 라는 질문에 제대로 답을 못했던 기억이 있다.
클래스
객체 지향 프로그래밍 (OOP)에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀(template)이다. 객체를 정의하기 위한 메소드와 변수로 구성된다.
- 위키
예시로 가장 많이 쓰이는 것이 자동차이다.
자동차라는 클래스 안에는
핸들, 액셀, 브레이크 패달 등의 눈으로 볼 수 있는 부품들은 '변수'로서 정의 할 수 있고,
"브레이크 패달을 밟는다", "스타트 버튼을 누른다" 등의 행동에 대해서 "자동차의 속도가 줄어 멈춘다", "엔진을 점화 시켜 동작하게 만든다" 처럼 기능을 정의하는 메소드로 구분할 수 있다.
정리하자면 클래스란?
우리 주변에 있는 모든 사물을 코드로서 변환 하는 것 이라고 생각한다.