[ 접근제한자] [예약어] class 클래스명{
1) 필드(멤버 변수)
2) 생성자
3) 메서드(getter / setter)
}
1) public : 같은 패키지, 전체에서 접근 가능
2) (default) " 같은 패키지
--> "( )" : 무조건 생략 // "[ ]" : 생략 가능
- 필드 : 클래스에서 변수에 관련된 것(속성)을 작성하는 곳
1) 클래스 변수 : static으로 선언도니 멤버변수
2) 인스턴스 변수 : new heap에 할당되는 객체(인스턴스)
3) 지역변수 : 메서드, 제어문 변수 stack
[접근제한자][예약어] 자료형 변수명 [=초기값];
1)public : 해당 클래스 내부, 같은 패키지 내, 후손 클래스 내, 전체
2)protected : 해당 클래스 내부, 같은 패키지내, 후손 클래스 내
3) (default) : 해당 클래스 내부, 같은 패키지 내
4) private : 해당 클래스 내부
1) static
: new 연산자를 통해서 객체를 생성할 때 생성된 객체의 필드 값 초기화 + 지정된 기능을 수행하는 역할
1) 생성자의 이름은 반드시 클래스명과 같아야 한다
2) 반환형이 존재하지 않는다
(1) 기본 생성자
: 작성하지 않은 경우, 클래스 사용 시 컴파일러가 자동으로 기본 생성자 생성
(2) 매개변수 생성자
: 객체 생성 시 전달받은 값으로 객체를 초기화 하기 위해 사용
: 매개변수 생성자 작성 시 컴파일러가 기본 생성자를 자동으로 생성해주지 않음
: 상속에서 사용 시 반드시 기본 생성자를 작성
: 오버로딩을 이용하여 작성
null/0/0.0/null
자바의정석/30000/0.2/남궁성
"============================="
수정된 결과 확인
C언어/30000/0.1/홍길동
"============================="
도서명 : C언어
할인된 가격 = 27000원
도서명 : 자바의정석
할인된 가격 = 24000원
1) 필드
private String title; ptivate int pirce; private double discountRate; private String author;
2) 생성자
public Book(){} public Book(String title, int price, double discountRate, String author){ this.title = title; this.price = price; this.discountRate = discountRate; this.author = author; }
3) 메소드
@Override public String toString(){ return + "/" + price + "/" + discountRate + "/" + author; }
getter와 setter은 생략
public void practice(){ Book b1 = new Book(); System.out.println(b1.toString()); Book b2 = new Book("자바의정석", 30000, 0.2, "남궁성"); System.out.println(b2.toString()); System.out.println("=============================");
b1.setTitle("C언어"); b1.setPrice(30000); b1.setDiscountRate(0.1); b1.setAuthor("홍길동"); System.out.println("수정된 결과 확인"); System.out.println(b1.toString()); System.out.println("=============================");
System.out.println("도서명 : " + b1.getTitle()); System.out.println("할인된 가격 = " + (int)(b1.getPrice()*(1-b1.getDiscountRate()))+"원"); System.out.println("도서명 : " + b2.getTitle()); System.out.println("할인된 가격 = " + (int)(b2.getPrice()*(1-b2.getDiscountRate()))+ "원"); }