클래스에는 필드, 생성자, 메소드 구성멤버들이 선언될 수 있다.
필드
필드 선언형태는 변수와 비슷하지만 변수라고 부르지않는다.
객체의 고유데이터를 선언하는 곳 이다.
자동차로 예를 들면 회사, 모델명, 색깔, 속도 등 이 정보들이 필드로 선언된다.
package javaExample;
//Car 클래스 필드 선언
public class Car {
String company = "기아";
String name ="셀토스" ;
String color = "화이트";
int speed;
}
package javaExample;
public class CarExample {
public static void main(String[] args) {
Car myCar = new Car(); //객체 생성
System.out.println(myCar.color);// .(도트)를 이용하여 실행
}
}
Car 클래스(라이브러리 클래스)에 고유데이터들을 선언한 뒤
CarExample(실행클래스 main메소드)에서 사용된다.
myCar 객체선언하고 myCar.color로 불러와 실행시킬 수 있다.
이 작업들은 같은 패키지안에서만 이뤄질 수 있다.
======> 결과
생정자
new연산자와 같이 사용되어 객체를 생성할때 호출되어 초기화를 담당한다.
예를들면 Car(String name) -> new Car("셀토스") 생성자 선언한뒤 new 객체생성하여 호출한다.
* 생성자 선언
1. 생성자는 클래스이름 동일하다.
2. 생성자는 리턴타입이 없다.
클래스를 생성할 때 생성자 선언을 해주지않으면 기본생성자 Car()가 생성된다.
Car.class(바이트코드파일)에 보면 알 수 있다.
하지만 Car(매개변수) 생성자 선언을 해주면 초기화 되어 사용된다.
public class Car {
String company = "기아";
String name ="펠리" ;
String color = "검정";
int speed;
//기본생성자 선언
//Car(){
//
//}
//생성자 선언
Car(String newName, String newColor){ //초기화되어 사용된다.
name = newName;
color = newColor;
}
}
package javaExample;
public class CarExample {
public static void main(String[] args) {
Car newMyCar = new Car("셀토스", "흰색"); //생성자 초기화
System.out.println(newMyCar.name);
System.out.println(newMyCar.color);
}
}
따라서 결과에는 newMyCar 객체생성을 해주면서 생성자 초기화를 해줘서 새로운 내용이 출력된다.
메소드
메소드는 리턴타입이 있을 수 도 있고 없을 수 도 있다.
리턴값이 없는 메소드는 리턴타입에 void()가 와야하고,
리턴값이 있는 메소드는 리턴값 타입이 와야한다.
예를들면 void powerOn(){} , int speed(int x, int y){}
package javaExample;
public class Car {
String company = "기아";
String name ="펠리" ;
String color = "검정";
//기본생성자 선언
Car(){
}
//생성자 선언
Car(String newName, String newColor){
name = newName;
color = newColor;
}
//메소드 선언
void powerOn(){
System.out.println("차 출발합니다.");
}
int speed(int x, int y){
int result = x * y;
return result;
}
void powerOff(){
System.out.println("멈췄습니다.");
}
}
package javaExample;
public class CarExample {
public static void main(String[] args) {
Car newMyCar = new Car("셀토스", "흰색");
System.out.println(newMyCar.name);
System.out.println(newMyCar.color);
Car myCar = new Car(); //객체선언
myCar.powerOn(); //메소드 호출
int CarSpeed = myCar.speed(3, 2); //리턴타입 결과값 타입 지정
System.out.println(CarSpeed);
myCar.powerOff(); //메소드 호출
}
}
void powerOn() 메소드를 선언한뒤 실행클래스에서 메소드 호출을 해준다.
리턴타입이 있는 메소드는 매개변수로 호출하여 실행한다.
=====>결과
간단하게 필드, 생성자, 메소드에 대해 알아보았는데 다음 포스팅엔 this, 오버로딩에 대해 올리겠습니다.
초보탈출 자바!!!
'IT-Programming&+ > JAVA' 카테고리의 다른 글
[JAVA] 자바 비교연산자(==, !=) 논리연산자(&&, ||, !)참조타입(equals()) (0) | 2022.03.07 |
---|---|
[JAVA] 자바 for문 반복문(별 그리기, 삼각형, 역삼각형 그리기) (0) | 2019.07.09 |
[JAVA] 자바 switch문 (default, break, 데이터 타입별 조건문) (0) | 2019.07.04 |
[JAVA] 자바 조건문(if문, 중첩if문) (0) | 2019.07.04 |
[JAVA] 자바 JDK 설치 및 개발환경 구축(windows10, 환경변수 설정) (0) | 2019.06.25 |