클래스와 객체의 생성

2023. 4. 11. 14:18·JAVA

필드 구현

자동차를 추상화한 클래스 Car를 구현

자동차의 속성

 자동차의 번호판

 자동차의 소유자

public class Car {
	public long carNumber;
   	public String carOnwner;
}

필드 지정자

type keyword function
상수 final 수정하면 안되는 상수를 지정할 때
접근 지정자 public
protected
private
필드의 접근 권한을 종류로 지정할 때
정적 static 필드의 소속(클래스인지 인스턴스인지)

 

필드의 기본 값

선언 시 초기 값이 없으면 자동으로 저장되는 값

# 타입에 따라 기본이 되는 0

구분 필드 기본 값
불린형 booleans false
문자형 char 'w0'
'wu0000'
정수형 byte
short
int
long
0
실수형 float
double
0.0f
0.0
참조형(클래스형) String
Date
null

 

생성과 필드 참조 연산자

키워드 new

객체를 생성하기 위해서는 키워드 new 이후에 Car()와 같이 생성자를 호출

 

필드 참조 연산자

참조형 변수인 guestCar를 사용하여 필드 carNumber와 carOwner를 참조

guestCar.carOwner, guestCar.carnumber

 

Car guestCar = new Car();
guestCar.carNumber = 14_1632L;
guestCar.carOwner = "이재원";

// 클래스 이름 변수 = new 클래스 이름();
// 변수필드이름 = 값;

 

클래스와 메소드 구현

메소드 구현

지정자 반환형 메소드이름(매개변수) {구현}

메소드 use( )

신용카드를 사용하는 메소드

메소드 payBill( )

매월 또는 수시로 카드 비용을 지불하는 메소드

메소드 addPoint( )

카드 사용실적에 따른 포인트 합산하는 메소드

 

public class CreditCard {
	private long balance = 0;
    private long point = 0;
    
    public void use(int amount) {
         balance += amount;
}


	public void payBill(int amount) {
         balance -= amount;
         addPoint(amount);
 }
 
 	private void addPoint(int amount) {
    	point += amount * 10000;
    }
 }
 
 
 public class 신용카드 {
	private long 신용카드누적사용금액 = 0;
    private long 누적 포인트 = 0;
    
    public void 신용카드 사용(int 사용금액) {
         신용카드누적사용금액 += 사용금액;
}


	public void 신용카드사용비용지급(int 지급금액) {
         신용카드누적사용금액 -= 지급금액;
         포인트지급(지급금액);
 }
 
 	private void 포인트지급 (int 지급금액) {
    	누적포인트 += 지급금액 * 0.01;
    }
 }

 

'JAVA' 카테고리의 다른 글

JAVA Object 클래스 란?  (0) 2023.04.27
JAVA 캐스팅을 하는 이유  (0) 2023.04.24
JAVA 변수의 종류  (0) 2023.04.23
JAVA 클래스란?  (0) 2023.04.22
JAVA 메소드란?  (1) 2023.04.18
'JAVA' 카테고리의 다른 글
  • JAVA 캐스팅을 하는 이유
  • JAVA 변수의 종류
  • JAVA 클래스란?
  • JAVA 메소드란?
JAVALA
JAVALA
워니‘s Diary
  • JAVALA
    정신줄 JAVA라
    JAVALA
  • 전체
    오늘
    어제
    • 분류 전체보기 (87)
      • Codding_Test (11)
        • BaekJoon (7)
        • Programmers (3)
      • Algorithm (11)
      • Daily (4)
        • memoir (4)
      • TroubleShooting (8)
        • InteliJ (1)
        • Server (1)
        • Infra (0)
        • DB (0)
      • Computer Science (1)
      • JAVA (8)
      • Javascript (0)
      • Spring Boot (7)
      • API (2)
      • Server (0)
      • DB (3)
        • ORACLE (1)
      • Infra (2)
      • Refactoring (1)
      • Plugin (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프로그래머스
    개발자 비전공자
    자바 스프링부트
    자바 메소드
    자바 클래스
    springboot
    코딩테스트
    백준
    자바 알고리즘
    spring boot
    개발자 국비
    개발자
    프론트엔드 개발자
    제로베이스
    트리 자료구조
    자바 스프링
    백엔드 개발자
    스프링부트
    개발자 부트캠프
    자바
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JAVALA
클래스와 객체의 생성
상단으로

티스토리툴바