반응형

클래스의 필드 구현

필드 구현

  • 신용카드를 추상화한 클래스 CreditCard를 구현
  • 신용카드의 속성 : 카드번호(cardNumber), 소유자(cardOwner) 등을 고려

 

public class CreaditCard {
   
    public long cardNumber;     //카드번호(16자리 숫자)
    public String cardOwner;    //카드 주인
}
 
 

필드 지정자

  • 상수 final 수정될 수 없는 상수를 지정할 때
  • 접근 지정자(한정자) public / protected / private / dafault(의미만) 필드의 접근 권한의 종류를 지정할 때
  • 정적 static 필드의 소속(클래스인지 인스턴스인지)을 지정할 때

 

필드의 기본 값

  • 불린형 boolean false
  • 문자형 char '\0', '\u0000'
  • 정수형 byte / short / int / long 0
  • 실수형 float / double 0.0f, 0.0
  • 참조형(클래스형) String, Date 등의 클래스 null

 

 

객체 생성과 필드 참조 연산자

키워드 new

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

 

필드 참조 연산자 .(닷, 마침표)

  • 참조형 변수인 myCard를 사용하여 cardNumber와 cardOwner를 참조
  • myCard.cardNumber, myCard.cardOwner

 

CreditCard.java 예시

 

CreditCardTest.java 예시

 

 

클래스의 메소드 구현

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

  • 메소드 use()  //신용카드를 사용하는 메소드
  • 메소드 payBill()  //매월 또는 수시로 카드 비용을 지불하는 메소드
  • 메소드 addPoint()  //카드 사용실적에 따른 포인트를 합산하는 메소드

 

클래스 메소드 구현 예시 (1)

 

 

클래스 메소드 구현 예시 (2)

 

 

 

메소드 지정자

지정자를 위한 키워드

  • 메소드 재정의 제한 final 상속을 받은 하위 클래스에서 메소드를 더 이상 재정의(override) 할 수 없도록 제한
  • 접근 제한자(한정) public / protected / private / default(의미만) 메소드의 접근 권한의 종류를 지정할 때 (필드와 동일함)
  • 정적 static 메소드의 소속을 클래스로 지정할 때 (필드와 동일함)
  • 추상 abstract 메소드를 추상 메소드로 지정할 때
  • 동기 synchronized 멀티 쓰레드에서 동기화를 지정할 때

 

접근 제한자 private 함수 예시

 

 

클래스로부터 객체 생성

객체 생성 예시

 

객체의 필드와 메소드 참조

신용카드테스트.java 왼쪽 코드와 실행 결과

 

CreditCardTest.java 오른쪽 코드와 실행 결과

 

클래스 생성 예시

 

 

setter와 getter 구현

setter와 getter

  • 필드의 값을 저장하는 메소드 setter
  • 필드의 값을 반환하는 메소드 getter

키워드 this

  • 객체 자신을 의미하는 키워드

 

setter와 getter 사용 예시

 

입력값 검증 용도로 사용가능한 setter

 

setter 함수에 의하여 카드값이 입력되지 않은 것을 확인 할 수 있다.

 

해당 값을 노출시키지 않는 용도로 사용가능한 getter

 

setter에 의하여 카드번호가 입력되었으나 출력되지 않는 것을 확인할 수 있다.

 

 

반응형

+ Recent posts