프로그램에서 값을 저장하고 참조하는 이름이 붙은 메모리 공간을 의미한다. 변수를 사용하면 데이터를 메모리에 저장하고 필요할 때 데이터를 재사용하거나 변경할 수 있다.
값을 담을 수 있는 이름이 있는 그릇! 이라고 생각하세요
자바는 타입을 꼭 지정해줘야 하지만 파이썬은 타입을 지정하지 않아도 된다.
자바는 같은 타입만 값을 바꿔서 담을 수 있지만 파이썬은 숫자형으로 값을 넣다가도 문자열로 바꾸는 것도 가능!
변수 이름은 의미 있는 이름을 사용해야 하고 대부분의 언어에서 다음과 같은 규칙을 따른다.
프로그래밍에서 데이터와 그 데이터를 다루는 동작(메서드)을 하나로 묶은 구조를 의미한다. 객체는 속성(프로퍼티)과 행동(메서드)으로 구성되며, 현실 세계의 사물이나 개념을 컴퓨터 프로그램으로 표현하는 데 사용된다.
이게 뭔소리냐.. 하지만 예를 들어보면 자동차 캐스퍼, 사람, 달도 객체라고 할 수 있다.
차는 모델명, 속도, 구동방식 크기 등등의 여러가지 상태 정보가 있고, 동시에 직진, 후진, 감속 등등 여러가지 행동들을 할 수가 있다. 이렇게 상태를 가지고 있고 어떤 행동들을 하는 실체를 바로 객체라고 한다.
프로그래밍에서 객체를 생성하기 위한 설계도 또는 틀을 의미한다. 클래스는 객체의 속성(데이터)과 동작(메서드)을 정의하며, 클래스를 기반으로 여러 객체(인스턴스)를 생성할 수 있다.
차를 만들기 위해서는 반드시 설계도가 필요하다. 그 설계도를 보면 이 차에는 어떠한 속성들이 있고, 어떻게 동작하는지 자세히 설계가 되어 있을 것이다. 하지만 그 설계도가 차는 아니잖아요?
하지만 차 설계도를 보고 차를 만들순 있죠. 마찬가지로 클래스도 객체는 아니지만 클래스로부터 객체가 만들어지는 것.
정리하자면 내가 원하는 속성과 행동을 구체적으로 기술한 것이 클래스!
그렇게 기술한 대로 실체화 된 것이 객체라고 생각합시다.
변수 이름짓기 넘 힘들어요..
맨처음 자바 수업을 들었을 때 변수 이름을 짓는건 너무나 중요해요! 라고 했을 때는
음~ 그렇군.. 중요하군.. 이라고 가볍게 생각했다.
근데 지금은 갠프와 팀프를 하면서 변수이름 지을 때마다 엄청난 고뇌에 빠지게 되는 매직~!
언젠가 내가 봤을 때도, 다른 팀원이 봤을 때도 직관적이고 한 눈에 이해하기 쉬운 변수명을 찾는다는건 정말 힘든일이야...