본문 바로가기
2022-2/자바

상속,오버라이딩,super(),final,abstract

by 철없는민물장어 2022. 11. 1.
728x90
반응형

Account 클래스를 상속받는 CheckAccount클래스의 생성자

	public CheckAccount(String accountNum,String name,int balance,String cardNo) {
		//super() 생략됨. Account()이 없으면 에러
		super(accountNum,name,balance);//이렇게 사용가능
		this.cardNo=cardNo;
	}

 

상속받은 클래스의 생성자에서는 super()이 자동으로 실행됨. (부모클래스의 기본생성자가 없는 경우 에러가 발생함)

super()에 인자를 넣어서 사용할 수도 있다.

 


메소드 오버라이딩

void deposit(int amnt) {
		this.balance += amnt;
		System.out.println(name+"님 게좌에"+amnt+"입금 후 계좌잔액: "+balance);
	}
	void deposit(int amnt) {
		super.deposit(amnt);
		this.bonusPnt+=amnt*0.001;
		System.out.println(name+"님 게좌에"+amnt+"입금 후 계좌잔액: "+balance+",포인트:"+bonusPnt);
	}

super.메소드명(인자)로 부모 클래스의 메소드 활용 가능.

 


상속을 금지하는 final 키워드

클래스 명 앞에 final키워드를 붙이면 해당 클래스 상속 불가

메소드 앞에 fianl키워드를 붙이면 해당 메소드 상속 불가

 

인스턴스화를 금지하는 abstract 키워드

클래스 앞에 abstract 키워드를 붙이면 추상 클래스가 되어 객체를 생성 할 수 없게 됨.

 

728x90
반응형

'2022-2 > 자바' 카테고리의 다른 글

추상화 클래스, 추상화 메소드, 다형성  (0) 2022.11.03
입출력,버퍼,파일입출력  (1) 2022.11.01
자바 중간고사  (0) 2022.10.26
Object, String, StringBuffer  (0) 2022.10.21
Exception  (0) 2022.10.20

댓글