본문 바로가기
728x90
반응형

분류 전체보기465

[java 기초] 타입변환과 다형성 - 참조타입 데이터도 기초타입 데이터 처럼 타입 변환 가능 - 상속 관계일 경우만 타입변환 가능 - 자동타입 변환과 강제 타입변환이 있다. p=s;는 사실상 (Person)s 와 같다. '학생은 사람이다' 가 가능하므로 위와 같은 형변환은 가능하다 이런 경우는 '사람은 학생이다' 가 되므로 형변환 불가능 하지만 이런식으로 코드를 작성하게 되면 부모타입의 변수이지만 자식 객체를 가리키므로 형변환이 가능하다. '변수 instnaceof 타입 ' 변수는 bool값을 반환한다. 자식객체이면 true, 아니면 false를 반환한다. 이 경우 true,true,false 가 된다 위의 코드는 downcast 함수를 추가 해봤다. downcast의 인자에 Student 타입의 참조변수 s를 넣어준다. downcast.. 2021. 6. 30.
[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.
728x90
반응형