Java
TIL | Java - Class : 클래스 & Object : 객체 생성
개발 공부
2022. 10. 5. 18:51
클래스 생성
사용자 정의 클래스
따로 class를 생성하면 안에 main을 따로 정의하지 않는다.
클래스의 구성요소
- 멤버변수 (Member Variable) : 클래스 안에서 선언된 변수 ex) color, size, model 등등
- 자동 초기화된다.
- field 밖에서 사용 가능하다.
- field는 클래스의 속성과 상태를 나타낸다.
- field를 멤버변수로 나타낸다.
-
더보기
지역변수 (Local Variable) : 메서드 중괄호 안에서 만들어지는 변수. 반드시 초기화가 필요하다.
밖에서 값바꾸는거 불가능
-
더보기매개변수 (parameter) : 지역변수의 일종, 메서드가 실행될 때 필요한 데이터를 외부로부터 받을 값에 대한 데이터 타입과 변수
-
- 메서드 (method) : 연산이나 동적인 기능 표현
- 생성자 (constructor)
- class명+소괄호( )
- 멤버 변수를 초기화 하는데 사용된다. 반드시 있어야 한다.
- 반환 타입을 적지 않는다. ( = 메서드가 아니다.)
- 클래스 이름과 대소문자까지 똑같다.
- 생성자를 내가 만들지 않더라도 Java Virtual Muchine 이 자동으로 생성자를 만들어준다. (강제로 만들어도 된다.)
- 생성자는 서로 다른 모형으로 여러개 존재할 수 있다. = 생성자 오버로딩
- 생성자는 외부에서 매개값을 받을 수도 있다.
- 주로 사용되는 생성자는 기본 생성자, 멤버변수의 갯수만큼 받아서 초기값을 지정하는 생성자이다.
- Java Virtual Muchine - 어떤 운영체제든 사용 가능하게 해줌
객체 생성
= 참조형 변수
Calculator cal = new Calculator();
//클래스명 //객체명 //new:만들다 //생성자
예제)
Phone 클래스
public class Phone {
//멤버변수 선언
String model;
int price;
String color;
//생성자 -
//1. 클래스가 객체로 처음 생성될 떄 불려나가는 친구
//2. 이름은 클래스명과 동일
//3. 셍성자를 만들지 않으면 자동으로 생성해 줍니다.
Phone() {
System.out.println("생성자 호출됨");
model = "애니콜";
price = 1000;
color = "빨강";
}
//생성자는 여러개일 수 있다. 단, 모형이 달라야한다.(매개값 지정)
Phone(String pModel) {
model = pModel;
price = 2000;
color = "블루";
}
Phone(String pModel, int pPrice) {
model = pModel;
price = pPrice;
color = "블랙";
}
//매개변수의 변수이름과 타입이 같아도 타입 순서가 다르면 다른걸로 인정!
Phone(int pPrice, String pModel) {
model = pModel;
price = pPrice;
color = "화이트";
}
Phone(String pModel, int pPrice, String pColor) {
model = pModel;
price = pPrice;
color = pColor;
}
//메서드
void info() {
System.out.println("===폰의 정보===");
System.out.println("모델 : " + model);
System.out.println("가격 : " + price);
System.out.println("색상 : " + color);
}
}
Phone 메인
public class PhoneMain {
public static void main(String[] args) {
//객체1
Phone red = new Phone();
red.info();
//객체2
Phone blue = new Phone("가로본능");
blue.info();
//객체3
Phone black = new Phone("세로본능", 3000);
black.info();
//객체4
Phone white = new Phone(4000, "세로본능");
white.info();
//모든 멤버변수를 매개변수로 받는 생성자를 만들고
//초록, 10000,아이폰을 전달해서 객체생성
Phone green = new Phone("아이폰", 10000, "그린");
green.info();
}
}
2022.10.05.wed / course11