반응형

클래스에는 필드, 생성자, 메소드 구성멤버들이 선언될 수 있다.

 

필드

필드 선언형태는 변수와 비슷하지만 변수라고 부르지않는다.

객체의 고유데이터를 선언하는 곳 이다.

자동차로 예를 들면 회사, 모델명, 색깔, 속도 등 이 정보들이 필드로 선언된다.

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, 오버로딩에 대해 올리겠습니다.

초보탈출 자바!!!

반응형

+ Recent posts