JAVA25 [JAVA] instanceof 오른쪽에 있는 타입에 왼쪽에 있는 인스턴스의 타입이 들어갈 수 있는지 대입해보면된다. 대입 가능시 true 불가능시 falsenew Parent() instanceof ParentParent p = new Parent() // 같은 타입 truenew Child() instanceof ParentParent p = new Child() // 부모는 자식을 담을 수 있다. 여기서 instanceof는 포함개념으로 생각해보기new Parent() instanceof ChildChild c = new Parent() // 자식은 부모를 담을 수 없다. falsenew Child() instanceof Child자식은 자식을 담을 수 있다. true ==> 다운 캐스팅이 가능한지 불가능한지 확인할 떄 사용하면 .. 2025. 2. 18. [JAVA] 런타임 오류 VS 컴파일 오류 컴파일 오류는 변수명 오타, 잘못된 클래스 이름 사용등 자바 프로그램을 실행하기전에 발생하는 오류=> IDE에서 바로 확인할 수 있기 때문에 좋은 오류이다. 런타임 오류는 이름 그대로 프로그램이 실행되고 있는 시점에서 발생하는 오류이다. 런타임 오류는 매우 안좋은 오류이다. 이용자가 해당 프로그램을 사용하던 중 발생하기 때문에 이런 손해는 배포한 기업에게 큰 타격을 줄수있어 매우매우 안좋다.. 헷갈려서 정리함 2025. 2. 18. [JAVA] 다형성1 객체 지향 프로그래밍의 꽃 다향성은 이름 그대로 다양한 형태, 여러형태 를 뜻한다.프로그래밍에서 다형성은 한 객체가 여러타입의 객체로 취급될 수 있는 능력을 뜻한다. 다형적 참조 : 부모 타입의 변수가 자식 인스턴스를 참조 //부모 인스턴스가 자식 인스턴스를 참조(다형적 참조) System.out.println("Parent -> Child"); Parent poly = new Child(); poly.parentMethod(); 부모는 자식을 담을 수 있다자바에서 부모 타입은 자식 타입을 담을 수 있다.(자식은 부모를 담을 수 없다 Child child1 = new Parent() ==> 이것은 컴파일 오류) 부모타입의 변수 poly 에 Child 인스턴스를.. 2025. 2. 18. [JAVA] 상속 상속과 메모리 구조A를 상속받은 클래스 B가 있다고 치자new B(); 이렇게 B클래스를 생상하게되면 B클래스의 인스턴스 뿐만아니라 A클래스의 인스턴스도 함께 생성이된다 메서드 호출시 그 메서드가 들어있는 클래스의 타입으로 가서 찾는다. 메서드 호출시 변수타입의 클래스에 들어가 먼저 메서드를 찾고 그 다음에 부모클래스로가서 메서드를 찾는다. 거기에도 없으면 컴파일오류 메서드를 찾는데 자기한테 있으면 바로 호출하고 끝, 하지만 자기 자신에게 없는경우 부모클래스까지 가서 찾아서 호출(없으면 컴파일 오류) + 오버로딩 같은 메서드의 매개변수의 타입이나 갯수를 여러개로 들리거나 줄여서 정의하는 것 +오버라이딩 ( 컴파일 오류 뜨면 그때 수정하기때문에 @Overiding 사용하면 좋음)부모클래스에 있는 메서드의.. 2025. 2. 14. 이전 1 2 3 4 ··· 7 다음