형 변환

반응형

    JAVA Basic) 인터페이스(interface)

    목차 구현 코드가 없는 인터페이스 인터페이스(interface)는 클래스 혹은 프로그램이 제공하는 기능을 명시적 선언하는 역할. 추상 메서드와 상수로만 이루어짐. 구현된 코드가 없어서 당연히 인스턴스를 생성할 수 없다. 이러한 인터페이스는 어떻게 사용되어지는지 간단한 계산기를 만들어보자. - calc 인터페이스 package interfaceex; public interface Calc { double PI = 3.14; int ERROR = -999999999; // 멤버변수는 public static final(상수)로 자동 선언됨 int add(int num1, int num2); int substract(int num1, int num2); int times(int num1, int num2); ..

    JAVA Basic) 다운 캐스팅과 instanceof

    목차 앞에서 상위 클래스로 형 변환이 묵시적으로 이루어지는 과정을 알아봤다. 여기에서 다시 하위 클래스로 형 변환이 되는 과정을 알아보자. 위와 같은 계층 구조에서 상위 클래스 자료형으로 선언하는 코드가 가능하다. Animal = new Human(); // 상위 클래스 자료형으로 선언 이때 생성된 인스턴스 Human은 Animal형입니다. 이렇게 Animal형으로 형 변환이 이루어진 경우엔 Animal의 메서드와 멤버 변수만 사용이 가능하다. 따라서 필요에 따라 다시 원래 인스턴스의 자료형으로 되돌아가야 하는 경우가 필요하다. 이렇게 상위 클래스로 형 변환되었던 하위 클래스를 다시 원래 자료형으로 형 변환하는 것을 '다운 캐스팅(down casting)이라고 한다. instanceof 상속 관계를 생각..

    JAVA Basic) 다형성

    목차 묵시적 클래스 형 변환과, 가상메서드를 바탕으로 객체 지향의 중요한 특성인 '다형성(polymophism)'을 알아보자. '다형성'이란, 하나의 코드가 여러 자료형으로 구현되어 실행되는 것이다. 쉽게 말하면, 같은 코드에서 여러가지 실행 결과가 나오는 것이다. 3개의 클래스가 Animal클래스를 상속받은 상황이다. Animal클래스에서 메서드를 하나 정의하고 상속받은 클래스에서 재정의하는 코드를 구현해보자. package polymorphism; class Animal{ public void move() { System.out.println("동물이 움직입니다."); } } class Human extends Animal { public void move(){ System.out.println("사..

    JAVA Basic ) 상속과 다형성_상속, 형 변환

    목차 객체 지향 프로그래밍의 중요한 특징 중 하나가 '상속(inheritance)'이다. B클래스가 A클래스를 상속받으면 -> B클래스는 A클래스의 멤버 변수와 메서드를 사용할 수 있다. 객체지향 프로그램은 유지 보수하기 편하고 프로그램을 수정하거나 새로운 내용을 추가하는 것이 유연한데, 그 기반이 되는 기술이 바로 이 '상속'이다. B클래스가 A클래스에서 상속을 받는다고 할 때 그림으로 다음처럼 나타낼 수 있다. 우리가 생각하기에 상속을 하는 클래스에서 상속을 받는 클래스로 화살표가 갈 것 같지만, 클래스 간 상속을 표현할 때는 다음 그림처럼 상속 받는 클래스에서 상속하는 클래스로 화살표가 가므로 햇갈리면 안된다. '상위 클래스'를 super class, base clase로, '하위 클래스'를 sub..

반응형