728x90 형변환3 5-2 다형성 1. 다형성이란 : 유사하지만 다양한 형상이나 다양한 기능을 가진다는 뜻 -> 한 부모에서 나온 두 자식 객체는 비슷하지만 다름 -> 하나의 클래스에서 오버로딩된 메소드들은 유사하지만 조금씩 다른 기능을 수행함 -> 자식 클래스에서 재정의된 메소드는 부모의 것과 유사하지만 다른 기능을 수행함 2. 다형성과 형변환 : 형 변환 -> 상속 관계에 있는 클래스 간에는 타입 변환이 가능함 *전혀 다른 두 클래스 간에는 타입 변환이 금지됨 -> 자식(하위) 클래스에서 부모(상위) 클래스로의 형 변환은 문제없음 *업캐스팅이라 하며 자동으로 형 변환 가능함 * 참조형 변수는 같은 유형 또는 자식 유형의 객체를 참조할 수 있음 ex) Animal animal = (Animal) new Dog(); // 하위 객체 참조.. 2024. 3. 22. 5-1 추상 클래스와 인터페이스 1. 추상 메소드 : 메소드 정의에 abstract 키워드를 사용함 : 몸체의 구현이 없이 형식만 존재하는 메소드 -> 반환형, 메소드 이름과 인자에 관한 선언만 존재함 -> 자식 클래스에 상속될 때, 몸체의 구현이 필요함 -> 상반된 의미의 final과 함께 사용할 수 없음 -> 추상 메소드는 추상 클래스 또는 인터페이스에서 선언되어야 함 abstract class Shpe { abstract public double getArea(); } 2. 추상 클래스 : 클래스 정의에 abstract 키워드를 사용함 -> 추상 메소드를 포함할 수 있음 -> 물론 데이터 필드나 일반 메소드를 포함할 수 있음 -> 객체 생성을 할 수 없음 *구체적이지 못한 불완전한 클래스라는 의미 *오류 예(Shape이 추상클래스.. 2024. 3. 22. 2-2 자료형 변수와 자료형 : 변수를 선언할 때, 저장되는 값의 자료형을 선언 : 메소드를 선언할 때, 파라미터와 반환 값의 자료형을 선언 : 자료형에 따라 적용 가능한 연산이 다름 변수의 종류 종류 설명 데이터 필드 인스턴스 변수 클래스 정의에서 non-static 필드 개별 객체가 소유한 변수 클래스 변수 클래스 정의에서 static 필드 동종 객체 간 공유 변수(정적 변수) 지역 변수 메소드 내부(또는 블록 내부)에서 선언된 변수 파라미터 메소드 호출 시 전달하는 값을 저장하기 위한 변수 지역 변수와 파라미터 : 선언된 곳부터 해당 블록이 종료될 때까지 유효함 -> 메소드가 실행될 때 만들어지고 종료되면 없어짐 : 지역 변수는 초기값을 지정한 후 사용해야 함 : 지역 변수 선언에서는 접근 제어자를 사용하지 않음.. 2024. 3. 1. 이전 1 다음 728x90