객체 지향적인 프로그램을
작성하기 위해선
클래스를 이용하여 객체를 생성해야 한다.
클래스를 사용할 때
조금 복잡할 수 있는
구성요소 및 규칙을
정리해보도록 하겠다.
1. 클래스 구성요소
① 변수(필드) ② 메소드 ③ 생성자
① 변수(필드)
변수란 프로그램에 필요한 데이터를 저장하는 장소
> 각각 저장 (여러개 저장) > Heap에 저장
> 한개만 저장 (공유:static) > Method area에 저장
② 메소드
메소드란 저장된 변수를 활용해서 기능을 만드는 것
>리턴형 return값 존재
> 매개변수
③ 생성자
생성자란 객체 생성 시 호출되는 메소드를 말하며
변수에 대해 초기화 하는 역할을 한다.
(없는 경우 자동으로 1개의 생성자가 생성됨)
규칙
1. 생성자는 무조건 클래스명과 동일해야 한다.
2. 리턴형이 없다.
3. 여러개를 제작할 수 있다. (오버로딩)
오버로딩
1. 메소드명이 동일
2. 매개변수가 다르다
3. 리턴형은 관계 없다.
2. 클래스 작성 규칙
① 클래스 명은 대문자로 작성한다.
클래스 명은 소문자로 작성해도 무방하지만
개발자들의 암묵적인 규칙으로 대문자를 사용하는 것이 좋다.
또한 클래스변수(cv) = static변수는
[ 클래스.변수이름 ] 형태로 가져오기 때문에
클래스를 대문자로 표현해야 구분이 용이하다.
② 클래스를 사용하기 위해선 저장 후 사용해야 한다.
클래스를 생성 후 반드시
저장 공간을 만들어야 한다.
이때 new를 이용하게 된다.
Car car1=new Car(); // 객체 1생성
Car car2=new Car(); // 객체 2생성
Car car3=new Car(); // 객체 3생성
Car car4=new Car(); // 객체 4생성
* 객체의 주소는 각각 다름
new를 사용해야 하는 이유는
인스턴스 변수는 static 변수와 달리
자동으로 저장 공간이 생성되지 않기 때문이다.
인스턴스 변수를 호출하기 위해선
new를 통해 객체 생성 후
[ 객체명.변수명 ] 형태를 이용한다.
static 변수는
컴파일러에서 자동 저장해주기 때문에
[ 클래스명.변수명 ] 형태로
언제 어디서든 호출 가능하다.
'JAVA' 카테고리의 다른 글
JAVA_regex_정규식 패턴 [가-힣] [a-zA-Z] [0-9] (1) | 2022.06.10 |
---|---|
[JAVA] 자바 라이브러리 종류_외부 라이브러리 링크 참조 (0) | 2022.06.08 |
JAVA_자바 메서드_구구단 출력하기 (0) | 2022.05.25 |
JAVA_자바 클래스명은 소문자? 대문자? 영문? (0) | 2022.05.25 |
JAVA_자바 객체지향 개념과 3대 요소(기술면접 대비) (0) | 2022.05.24 |