본문 바로가기

자바의 정석4

[자바의 정석] (Ch.6 객체지향개념) 클래스 변수, 인스턴스 변수 클래스 변수와 인스턴스 변수 변수 정의 용어 클래스 변수 (class variable, cv) = static 변수 인스턴스 변수 (instance variable, iv) 로컬 변수 (local variable, lv) 이렇게 카드가 있다고 하면, 속성에는 숫자, 무늬, 폭, 높이 등이 있을 것이다. 이 중에서 숫자, 무늬는 각 카드 객체마다 달라야 한다. 이처럼 개별 속성을 가져야 하는 것은 인스턴스 변수(iv)로 정의한다. 카드 객체들의 폭, 높이는 모두 동일하게 유지되어야 한다. 이처럼 공통 속성을 가지는 것은 클래스 변수(cv)로 정의한다. 앞서 배웠듯, 클래스 변수는 iv와 똑같이 선언하는데 다만 앞에 static을 붙여주면 된다. static = 정적인, 고정된 클래스 변수, 인스턴스 변수의.. 2023. 9. 28.
[자바의 정석] (Ch6. 객체지향개념) 선언 위치에 따른 변수의 종류 이번에는 변수의 타입이 아니라 변수의 종류에 대한 이야기다. 선 요약정리 선언위치에 따른 변수의 종류 변수 종류 설명 iv (인스턴스변수) - 클래스 영역에 속함 - 인스턴스가 생성될 때 생성 - 객체와 인스턴스 변수는 묶임 - 객체 생성 후 사용 가능 cv (클래스변수) = static + iv - 클래스 영역에 속함 - 클래스가 메모리에 올라갈 때 생성 - 객체 생성 없이 사용 가능 lv (지역변수) - 메서드 영역에 속함 - 메서드 내 변수 선언문이 수행될 때 생성 선언 위치에 따른 변수의 종류 변수의 종류는 어디에 선언했느냐에 따라 3가지 종류로 나뉜다. iv (instance variable) cv (class variable = static + iv) lv (local variable, 지역변.. 2023. 9. 26.
[자바의 정석] (Ch6. 객체지향개념) 클래스의 정의 클래스의 정의: 데이터 + 함수 클래스의 간단한 정의는, 보는 관점에 따라 3가지로 설명할 수 있다. 설계도 데이터 + 함수 사용자 정의 타입 앞서서 클래스는 설계도라고 했다. 그러나 그 외에도 다른 관점에서 보면, 클래스를 데이터와 함수의 결합이라고 볼 수도 있다. (혹은 사용자 정의 타입이라고도 할 수 있다.) 아래는 데이터와 저장 공간의 발전 단계이다. 배열은 같은 타입의 변수밖에 저장할 수 없다는 한계가 있다. 이를 보완하여 서로 관계가 있는 다른 타입의 변수도 함께 저장할 수 있는 구조체가 생겼다. 이 구조체에서 더 발전한 것이 클래스이다. 구조체까지는 변수만 담을 수 있었지만, 클래스에는 변수와 함수를 함께 저장할 수 있다. '관련있는 다양한 데이터를 담는 것을 넘어서 이 데이터를 가지고 작업.. 2023. 9. 26.
[자바의 정석] (Ch6. 객체지향개념) 클래스와 객체 클래스, 객체 클래스의 사전적 정의 클래스의 정의: 클래스란 객체를 정의해 놓은 것 클래스의 용도: 클래스는 객체를 생성하는 데 사용된다 객체의 사전적 정의 객체의 정의: 실제로 존재하는 것. 사물 또는 개념 객체의 용도: 객체가 가지고 있는 기능과 속성에 따라 다르다. 강사님이 생각하기엔 설계도-제품 비유가 가장 적합한 비유 같다고 하신다. TV 설계도를 만들어놓으면 TV를 만들기 쉽다. TV를 만들기 위해 TV 설계도를 사용한다. 객체의 구성요소 - 속성과 기능 객체지향 개념은 군사적 목적으로 처음 등장. 현실 세계를 어떻게 하면 컴퓨터 안으로 옮겨 넣을까.. 를 고민했다. 예를 들면 미사일을 쏘기 전에 미리 시뮬레이션할 수도 있고.. 즉, 하드웨어를 어떻게 소프트웨어로 표현할까를 고민한 거다. 실물.. 2023. 9. 26.