Instance와 Class
프로그래밍에서 클래스와 인스턴스는 중요한 개념입니다. 오브젝트, 클래스, 인스턴스의 개념을 명확하게 이해하는게 중요합니다.
오브젝트를 도출하는 순서
프로그래밍에서 오브젝트를 도출하는 과정은 다음과 같습니다:
- 현실 세계의 객체(오브젝트)를 식별합니다.
- 이 오브젝트를 가상 세계(프로그래밍)에 맞게 추상화하여 클래스로 정의합니다.
- 클래스를 기반으로 메모리 상에 인스턴스를 생성합니다.
- 예)
Hero myHero = Hero('Iron Man', 50);
용어 정리
- 오브젝트 (Object): 현실 세계의 모든 객체를 의미합니다. 이는 컴퓨터, 사람, 자동차 등 물리적 또는 개념적인 모든 것을 포함합니다.
- 클래스 (Class): 오브젝트를 가상 세계 용으로 구체화한 것으로, 붕어빵 틀에 비유됩니다. 클래스는 객체의 속성과 기능을 정의합니다.
- 인스턴스 (Instance): 클래스를 활용해 메모리 상에 만들어 낸 구체적인 객체입니다. 클래스가 붕어빵 틀이라면, 인스턴스는 붕어빵에 해당합니다.
- 필드 (Field): 클래스 또는 인스턴스 내부에 저장되는 데이터를 나타냅니다. 객체의 속성을 구현하는 변수입니다.
클래스와 멤버 변수의 네이밍 컨벤션
프로그래밍에서는 코드의 가독성을 높이고, 의도를 명확히 전달하기 위해 네이밍 컨벤션을 따릅니다.
- 클래스명: 클래스명은 명사로, 각 단어의 처음을 대문자로 표기합니다(CamelCase). 예:
Hero
, ItemList
.
- 필드명: 필드명(멤버 변수명)은 명사로, 첫 단어는 소문자로 시작하고 이후 단어의 처음은 대문자로 표기합니다(camelCase). 예:
level
, items
, itemList
.
- 메소드명(함수명): 메소드명은 동사로, 첫 단어는 소문자로 시작하고 이후 단어의 처음은 대문자로 표기합니다(camelCase). 메소드는 행위를 나타내므로 동작을 설명하는 이름을 사용합니다. 예:
attack
, findWeakPoint
.
이러한 네이밍 컨벤션은 코드를 더 읽기 쉽고, 유지보수하기 쉽게 만들어줍니다. 또한, 팀 프로젝트에서 일관된 코드 스타일을 유지하는 데 도움이 됩니다.