[자바 입문] 기본형과 참조형
🦥 본문
클래스가 필요한 이유
학생이라는 클래스가 만들었고, 클래스에 정의된 변수들을 맴버 변수 , 또는 필드라고한다.
- 맴버변수 (Member Variable) : 이 변수들은 특정 클래스에 소속된 맴버이기 때문에 이렇게 부른다.
- 필드(Field) : 데이터 항목을 가르키는 전통적인 용어이다. 데이터베이스 . 엑셀 등에서 데이터 각각의 항목을 필드라 한다.
- 자바에서 맴버 변수 , 필드는 같은 뜻이다. 클래스에 소속된 변수를 뜻한다. -> 클래스는 관례상 대문자로 시작하고 낙타 표기법을 사용한다
클래스와 사용자 정의 타입
- 타입은 데이터의 종류나 형태를 나타낸다.
- 사용자가 직접 정의하는 사용자 정의 타입을 만들려면 설계도가 필요한데 , 이 설계도를 클래스 라고 한다.
- 설계도인 클래스를 사용해서 실제 메모리에 만들어진 실체를 객체 또는 인스턴스 라고 한다.
- 클래스를 통해서 사용자가 원하는 종류의 데이터 타입을 마음껏 정의할 수 있다.
변수선언
`Student student1// Student 변수선언
Student student1
Student
타입을 받을 수 있는 변수를 선언한다.int
는 정수를 ,String
은 문자를 담을 수 있듯이Student
는Student
타입의 객체(인스턴스)의 참조값을 를 보관할 수 있다.객체 생성
student1 = new Student() // Student 인스턴스 생성
student1 = new Studet()
코드를 분석해보자new Studnet
를 통해 인스턴스를 만들면서 참조값이 생긴다.- 그리고
student1
에 참조값이 보관된다. - 객체를 생성할 때마다 다른 객체값이 생긴다.
객체 사용
- studnet1.name 을 하면 참조값을 찾아가서 그 해당에 맞는 값을 표시
클래스 , 객체 , 인스턴스 정리
-
클래스
- 클래스는 객체를 생성하기 위한 ‘틀’ 또는 ‘설계도’ 이다.
-
객체 인스턴스
- 객체랑 인스턴스는 똑같은 의미이며 특정 클래스로부터 생성된 객체를 의미한다. 메모리에 존재하는 무언가이다.
- 인스턴스 는 주로 관계 -> 어떤 클래스에서 나왔는 지 말한다.
배열에 참조값 대입
Student students = new Stuendt[2]
주의 ! : 변수에는 인스턴스 자체가 들어가 있는 것이 아니라 , 인스턴스의 취치를 가리키는 참조값이 들어있을 뿐이다! 따라서 대입(=) 시에 인스턴스가 복사되는 것이 아니라 참조값만 복사된다.
향상된 for문(Enhanced For Loop)
1
2
3
for(Student s : students){
System.out.println("이름": s.name + "나이:" + s.age + "성적:" + s.grade);
}
기본형 vs 참조형 1 - 시작
쉽게 이해하는 팁
기본형을 제외한 나머지는 모두 참조형이다.
- 기본형은 소문자로 시작한다 .
int , long , double , boolean
모두 소문자로 시작한다.- 기본형은 자바가 기본으로 제공하는 데이터 타입이다. 이러한 기본형은 개발자가 새로 정의할 수 없다 . 개발자는 참조형인클래스만 직접 정의할 수 있다.
- 클래스는 대문자로 시작한다 .
- 클래스는 모두 참조형이다.
참고 - String
자바에서 String
은 특별하다 . String
은 사실 클래스이며 , 따라서 참조형이다. 그런데 기본형처럼 문자 값을 바로 대입할 수 있으며 , 문자는 매우 자주 다루기 때문에 특별하게 편의 기능을 제공한다.
출처 : https://www.inflearn.com/course/김영한의-실전-자바-기본편/dashboard
Leave a comment