본문 바로가기
728x90
반응형

Java/기초21

[java기초] final 메서드 - 더 이상 상속될 수 없는 클래스 - 대표적인 final 클래스로는 String 클래스 - final 클래스는 클래스 내부의 모든 메서드를 오버라이딩 할 수 없다. 특정 메서드만 오버라이딩 하지 않도록 하려면 final 메서드로 선언 체스 게임에서는 항상 흰색 말이 먼저 시작하는데, 이런 경우는 흰색 말이 먼저 시작한다는 클래스를 final클래스로 지정해 주는 것이 좋다. final 을 지정해서 ChessPlayer 클래스가 변동되지 않도록 한다. 이런경우 WorldChess 클래스에서 getter함수로 ChessPlayer을 가져오려고해도 final메서드이므로 에러가 뜬다 2021. 6. 30.
[java기초] 클래스 접근 지정 public,private,protected,default가 있다 private defualt protected public 외부로부터 완벽차단 동일 패키지에 적용 동일 패키지와 다른 패키지여도 자식 클래스에 허용 모든 패키지의 클래스에 허용 - 패키지에 관계없이 모든 클래스에 접근 허용 - 동일 클래스 내에만 접근 허용 - 상속 받은 서브 클래스에서 접근 불가 - 같은 패키지 내의 다른 모든 클래스에게 접근 허용 - 상속받은 서브 클래스는 다른 패키지에 있어도 접근 허용 - 같은 패키지 내의 다른 클래스에게 접근 허용 2021. 6. 30.
[java기초] 자식클래스와 부모생성자 - 자식 생성자를 호출하면 부모 생성자도 자동으로 호출한다. - 자식 생성자는 첫행에 부모 생성자 호출코드가 있다.(super(); 에 의해 부모 생성자가 호출) --> 생성자의 첫 행에 super(); 라고 명시적으로 부모 생성자를 호출한다. +) 부모 생성자에 매개변수가 있는경우,자식 클래스에서도 super안에 매개변수 넣어줘야 한다. 예시) Animal 클래스와 생성자를 만든 후, 이 클래스를 상속받는 Mammal 클래스와 생성자 만들기 monkey는 매개변수가 없는 경우, tiger는 매개변수가 있는 경우이다. 2021. 6. 30.
[java기초] 상속과 다형성 - extends 키워드 사용 - 다중상속은 안됨 (인터페이스를 이용하여 다중상속의 기능 구현 가능) 메소드 오버로딩= 메소드 오버라이딩= - 이름이 같은 메소드 작성 --> 매개변수의 개수나 타입이 서로 다르고, 이름이 동일한 메소드들 - 리턴 타입은 오버로딩과 관련이 없음 예제) 메소드 오버로딩 성공 예제 예제) 메소드 오버로딩 실패 예제 - pritvate 멤버는 자식 클래스에 상속되지 않는다 - 클래스 멤버는 어떤 접근 지정자로도 지정할 수 있지만, 클래스는 protected와 private으로 지정할 수 없다 - 메서드를 오버라이딩 할 때 부모클래스의 메서드보다 가시성을 더 좁게 할 수는 없다 2021. 6. 30.
728x90
반응형