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
반응형
'JAVA SE > Code' 카테고리의 다른 글
[20.07.15/Day_06] Java SE / Array 배열 (0) | 2020.07.15 |
---|---|
[20.07.14/Day_05] Java SE / Variable Scope, 객체 초기화, Relationship association, aggregation (0) | 2020.07.14 |
[20.07.13/Day_04] Java SE / 연산자, 제어문(조건문,반복문) (1) | 2020.07.13 |
[20.07.10/Day_03] Java SE / Encapsulation, Constructor, Data Type (0) | 2020.07.10 |
[20.07.08/Day_01] Java SE / Hello World 출력해보자 (0) | 2020.07.09 |