분류 전체보기94 [자바] 두잇 자바 프로그래밍 *추상 클래스와 템플릿 메서드 *추상 클래스와 템플릿 메서드 템플릿 메서드? -추상 메서드 또는 구현된 메서드를 활용해서 시나리오를 정의하는 메서드 -이때 템플릿 메서드 앞에 final로 선언하면, 하위클래스에서 템플릿 메서드를 재정의 할 수 없음 -추상 클래스로 정의된 상위 클래스에서 템플릿 메서드를 활용하여 전체적인 흐름을 정의하고, 하위 클래스에서 다르게 구현되어야 하는 부분은 추상 메서드로 선언해서 하위 클래스가 구현하도록 함 final 예약어? FIANL 변수? -final 변수는 값이 변경될 수 없는 상수!! ☞ public static final double PI = 3.14 ; -final 변수는 오직 한번만 값을 할당 할 수 있음 FIANL METHOD? -final 메서드는 하위클래스에서 Overriding 할 수 .. 2022. 6. 19. [자바] 두잇 자바 프로그래밍 *추상클래스(abstract class) *추상클래스(abstract class) 추상 클래스? -추상 메서드를 한개 이상 포함한 클래스 ☞ 상위 클래스에서는 딱히 메서드를 구현하기 어려울때 하위 클래스가 추상 메서드에 기반한 메서드 구현함 ☞ 이때 , 하위클래스에서 추상메서드를 모두 재정의 하지 않으면, 하위클래스에도 abstract 예약어 필요 -추상메서드는 구현코드 없이 메서드의 선언만 있음 !! ☞ abstract int add( int x , int y ) ;☞ 선언만 있는 추상 메서드, { ~~ } 부분이 구현내용인데 추상 메서드에는 없음! - abstract예약어 사용 -추상 클래스는 인스턴스화 할 수 없음 -반대되는 개념 ↔concrete Class 2022. 6. 19. [자바] 두잇 자바 프로그래밍 *다형성과 다운 캐스팅 *다형성과 다운 캐스팅 다운캐스팅? -하위클래스(자식)가 상위 클래스(부모)로 형 변환 되는 것은 묵시적으로 이루어짐☞업 캐스팅! -다시 원래 자료형인 하위 클래스로 형변환하려면 명시적으로 다운 캐스팅 해야함 -이때 원래 인스턴스의 타입을 체크하는 예약어가 instanceof ! 다형성?polymorphism ? -하나의 코드가 여러가지 코드로 구현되어 실행 되는 것 -정보 은닉, 상속과 더불어 지향 프로그래밍의 가장 큰 특징 중 하나 Animal 클래스의 상속을 받는 Human, Tiger 클래스 구현 animal.move() 코드가 자식 클래스에 따라 다양하게 구현됨 ☞ 다형성 !! 2022. 6. 18. [자바] 두잇 자바 프로그래밍 *오버라이딩과 다형성 *오버라이딩과 다형성 메서드 오버라이딩 -상위 클래스에서 정의된 메서드 중에서 하위 클래스와 기능이 맞지 않거나 추가기능이 필요한 경우, 같은 이름과 같은 매개 변수로 하위 클래스에서 재정의! 다형성 -하나의 코드가 여러가지 자료형으로 구현되어 실행되는 것! ☞상위 클래스 메소드 실행 ==> 여러가지로 실행 -정보 은닉, 상속과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나 가상 메서드Virtual Method - 기본 클래스에서 정의되고 자식 클래스에서 재 정의 될 수 있는 non private , non final 함수 - JAVA에서 모든 함수는 가상 메서드! - 가상 메서드를 호출할때, 선언한 클래스형이 아닌 생성된 인스턴스의 메서드 호출 ! - 각 클래스 마다 메서드 테이블 존재 ☞ 오버라.. 2022. 6. 18. 이전 1 ··· 17 18 19 20 21 22 23 24 다음