코딩 기록들

객체지향 프로그래밍 1. 클래스, 필드 본문

카테고리 없음

객체지향 프로그래밍 1. 클래스, 필드

코딩펭귄 2023. 12. 8. 11:26
객체 

- 자신의 속성을 가지고있으며 식별 가능한 것

- 속성(=필드) + 동작(=메소드) 로 구성됨

- 객체들 사이의 상호작용 = 메소드

- 객체가 다른객체의 기능을 이용하는것 = 메소드호출

[ 메소드 호출 형태 ]
리턴값 = 객체.메소드(매개값1, 매개값2,..);
객체와 클래스

- 객체는 설계도(=클래스)를 바탕으로 만들어짐

- 클래스 : 객체생성위한 필드&메소드가 정의되어있음

- 클래스로부터 만들어진 객체 = 클래스의 '인스턴스'

 

객체생성과 클래스 변수

- 클래스로부터 객체를 생성하려면 : new연선자 사용

new 클래스();

- new =클래스로부터 객체를 생성시키는 연산자

- new뒤에는 생성자(= 클래스() 형태)가 옴

- new연산자로 생성된 객체 = 메모리 '힙'영역에 생성됨

 

클래스의 구성멤버

1. 필드

- 객체의 고유 데이터, 부품객체, 상태정보를 저장하는 곳

- 객체가 소멸되지 않는 한 객체와 함께 존재함

2. 생성자 

- new연산자로 호출되는 중괄호{}블록

- 객체생성시 초기화를 담당함

- 클래스이름으로 되어있고, 리턴타입이 없음

3. 메소드

객체의 동작에 해당하는 중괄호{}블록

 

 

필드

- 객체의 고유 데이터, 부품, 현재상태 데이터를 저장하는 곳

필드 선언

- 클래스 중괄호 블록 어디서든 존재할수있음

- 생성자와 메소드 중괄호 블록 내부에는 선언될수 없음(=로컬변수임)

[선언형태] 
타입 필드 [=초기값];

- 초기값이 지정되지 않은 필드는 객체 생성시 자동으로 기본 초기값으로 설정됨

 

필드 사용

- 클래스 외부에서 사용할경우, 우선적으로 클래스로부터 객체를 생성한 뒤 필드를 사용해야함

외부클래스에서 Car클래스의 speed필드값을 사용하고 싶을때
// 1. Car객체 우선 생성
Car myCar = new Car();
// 2. myCar변수가 Car객체 참조하여 speed필드에 접근(도트연산자(.)이용하여 접근)
myCar.speed = 60;