일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 쿼리
- Docker
- springboot
- 직렬화
- query
- 660mbt
- 다중DB
- springframework
- 개발환경
- Serializable
- 코테
- Object-oriented
- 개햄문자치환
- spring boot
- vue.js
- 줄바꿈
- application.properties
- spring
- 롤백
- 개행문자
- 업로드 파일 용량
- 자바
- value 어노테이션
- @value
- Spring Framework
- 레오폴드
- sql
- mysql
- 트랜잭션
- java
Archives
- Today
- Total
supremest.35 개발 블로그
[Java] 클래스 본문
객체와 클래스, 인스턴스가 참 헷갈리긴 했다. 강사님이 잘 설명해주셨기에 이해가 됐다.
클래스
- 객체는 설계도를 바탕으로 만들어진다.
- 자바에서 객체에 대한 설계도가 클래스(class)다.
- 클래스는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다.
- 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(instance)라고 한다.
- 클래스로부터 객체를 생성하는 과정을 인스턴스화라고 한다.
- 자바의 클래스에서 속성(property)을 멤버변수 또는 필드라고 부른다.
- 자바의 클래스에서 기능(function)을 메소드라고 부른다.
객체 지향 프로그래밍 개발 단계
- 클래스 설계
- 클래스로 객체 생성
- 생성된 객체의 속성과 기능 이용하기
내가 이해한 클래스, 객체 :
클래스라는 설계도를 이용해서 객체가 만들어진다.
예를 들어, 모니터를 만드는 설계도가 있다고 생각해보자. (클래스 설계)
공장에서는 이 설계도를 이용해서 여러 모니터를 만든다. (클래스로 객체 생성)
각 모니터는 소비자로부터 사용된다. (생성된 객체의 속성과 기능 이용하기)
객체의 생성과 참조형 변수
- new 연산자를 사용하면 클래스로부터 객체를 생성할 수 있다.(인스턴스화)
- new 클래스명();
- 객체는 메모리의 힙(Heap)영역에 만들어진다.
- 만들어진 객체는 garbage collector가 자동으로 정리한다.
- new 연산자로 만들어진 객체를 아무도 사용하지 않을 때, garbage collector의 정리 대상이된다.
- 언제 정리할지는 모른다.
- new 연산자는 메모리의 힙 영역에 객체를 생성한 후, 메모리 내에서 객체의 위치를 알 수 있도록 객체의 주소값(메모리에서 객체가 위치하고 있는 주소)를 반환한다.
- new 연산자가 반환하는 주소값을 저장하기 위한 참조변수가 필요하다.
- 참조변수는 생성된 객체의 주소값을 저장하는 변수다.
- 참조변수의 타입은 해당 객체를 생성할 때 사용했던 클래스 이름이다.
- 주소값이 저장된 참조변수는 힙영역에 생성된 객체를 참조하게 된다.
- 생성된 객체의 속성과 기능을 사용하기 위해서는 반드시 해당 객체를 참조하고 있는 참조변수를 사용해야한다.
생성된 객체의 속성과 기능 이용하기
- 참조변수가 참조하는 객체의 속성과 기능을 사용할 수 있다.
- 생성된 객체의 속성과 기능을 사용하기 위해서는 반드시 참조변수에 객체의 주소값을 저장해두어야 한다.
클래스의 구성요소
- 필드(field)
- 객체의 데이터, 상태정보, 부품객체 등을 저장하는 곳
- 객체의 고유한 속성을 나타낸다.
- 초기값을 지정하지 않으면 해당 데이터의 기본값으로 초기화됨.
- 생성자와 메소드 전체에서 사용가능
- 객체와 함께 유지됨
- 생성자(constructor)
- new 연산자로 호출되는 메소드
- 객체 생성시 초기화 담당
- 반드시 클래스의 이름과 동일한 이름을 가지고, 반환타입 없음.
- 객체를 생성할 때만 호출가능
- 메소드(method)
- 이름을 가진 수행문의 블록
- 객체의 고유한 기능
- 필드의 값 조회, 수정가능
모든 클래스는 Object클래스의 자손
'Study > Java' 카테고리의 다른 글
[Java] 개행문자 치환 (0) | 2022.04.14 |
---|---|
[Java] 메소드 (0) | 2021.04.16 |
[Java] 객체란 (0) | 2021.04.15 |
[Java] 컬렉션 프레임워크(Collection Framework) (0) | 2021.04.01 |
[Java] 필드(멤버)변수, 지역변수 (0) | 2021.04.01 |