본문 바로가기
JAVA SE/Code

[20.07.09/Day_02] Java SE / Class, Object, variable, method 활용

by 파프리카_ 2020. 7. 9.
728x90
반응형

1. Class / Object

\Car.java

package step1; // package : Class를 Directory별로 분류하기 위함

// 객체 생성을 위한 틀
// 자바는 클래스명에서는 첫글자는 대문자로 시작
// 합성어의 첫글자도 대문자, 나머지는 소문자 ex)CuteMilk

public class Car {
	// 인스턴스 변수 instance variable
	// 변수명은 소문자로 하되, 합성어의 첫글자는 대문자 ex)myCutemilk
	
	// String은 문자열 데이터 타입
	String model;
	// int 는 정수형 데이터 타입
	int price;
	
	public void drive() {
		System.out.println(price+"원인 "+ model + " 운전하다 !");
	}
}

 

 

\TestCar.java

package step1;

// 코드 정리 단축키 : ctrl + shift + f 

public class TestCar {
	public static void main(String[] args) {
		// Car 클래스를 이용해 Car 객체를 생성한다
		// 객체의 주소값을 저장하는 변수명은 c로 한다
		Car c = new Car();
		// 객체 주소값 출력 (jvm에서 실행)
		System.out.println(c);
		// Car의 model 인스턴스 변수에 BMW를 할당한다
		c.model = "BMW";
		c.price = 1000 ;
		c.drive();
		/*
		 여러 줄 주석
		 c1변수에 Car객체를 생성한다
		 생성한 객체의 model instance 변수에 morning을 할당한다.
		 할당한 model정보를 출력해본다
		 */
		Car c1 = new Car();
		c1.model = "모닝";
		System.out.println(c1.model);
		c1.price = 100 ;
		System.out.println(c1.price+"원");
		// method를 호출해서 실행한다!
		c1.drive();
	}

}

2. Method

Person 실습

\ Person.java

package step2.method1;

public class Person{
	public void eat() {
		System.out.println("먹다");
	}
	
	// 메서드 호출한 측으로부터 데이터를 전달받기 위해 
	// 매개변수(parameter)를 정의한 메서드를 작성해보자
	public void eat2(String menu) {
		System.out.println(menu +" 먹다!");
	}
	
	public void eat3(String menu, int count) {
		System.out.println(menu+" "+count+"번 먹다");
	}
	
	// return : 호출한 측으로 데이터를 반환하는 메서드
	public String eat4(String menu) {
		// 특정한 일을 수행 후, 데이터를 반환하다.
		return menu+" 리턴되었다 !";
	}
}

 

\ TestPerson.java

package step2.method1;

public class TestPerson {
	public static void main(String[] args) {
		// Person Class 를 이용해 객체를 생성한다
		// 주소값을 저장하는 변수명은 p로 한다
		Person p = new Person();
		// p 객체의 eat() 메서드를 호출하여 실행시킨다
		p.eat();
		
		// eat2 메서드를 실행, 생성자는 "맥주"
		p.eat2("맥주");
		p.eat2("치킨");
		
		// eat3 메서드를 실행, 생성자는 "소주", 3
		p.eat3("소주", 3);
		
		// p.eat4 = "생성자+리턴되었다 !"
		String drink = "레드" + p.eat4("와인");
		System.out.println(drink);
	}
}

3. 접근제어자

\account.java

package step3;

public class Account {
	public String name = "예울"; //public 접근제어자 명시
	String id = "milk"; //default 접근제어자 명시
	private String password = "javaking"; //private 접근제어자 명시
	
}

 

\TestAccess.java

package step3;

// 접근제어자를 Test하는 예제
public class TestAccess {
	public static void main(String[] args) {
		Account a = new Account();
		// name : public이므로 접근 가능
		System.out.println(a.name);
		// id : default이므로 접근 가능
		// 같은 패키지에 존재하기 때문
		System.out.println(a.id);
		// password : private이므로 접근 불가능
		// 다른 클래스에 존재하기 때문
		System.out.println(a.password);
	}
}

 

* step4라는 새로운 패키지에서 실행해본다.

\TestAccess.java

package step4;

// import는 다른 패키지의 자원(클래스)를 이용할 때 
// 명시한다.
import step3.Account;

public class TestAccess {
	public static void main(String[] args) {
		Account a = new Account();
		// name : public이므로 접근 가능
		System.out.println(a.name);
		
		// id : default이므로 접근 불가
		// 다른 패키지에 존재하기 때문(step3에 있음)
		// System.out.println(a.id);
		
		// password : private이므로 접근 불가능
		// 다른 클래스에 존재하기 때문
		//System.out.println(a.password);
	}
}
728x90
반응형