전체 글 (20) 썸네일형 리스트형 13.2_제네릭 타입 7.1 상속_ final 클래스와 final 메소드 final 상수는 초기값 설정 후 값을 변경 할 수 없다. final 이란 의미는 해당 선언이 최종상태이고 수정 될 수 없음을 뜻함. 그렇다면 클래스와 메소드에 final을 붙이면??? 1. final 필드 : 값 수정 불가 2. final 클래스 : 상속불가 (= 부모클래스가 될 수 없음) 3. final 메소드 : 자식클래스에서 재정의 불가 7.1 상속_부모 메소드 호출 부모 메소드 호출 메소드를 재정의하면 부모클래스의 해당 메소드는 숨겨지고, 재정의된 자식 메소드만 사용된다. 그러나 자식 클래스 내부에서 재정의된 부모 클래스의 메소드를 호출해야 할 때는 super() 키워드를 붙여서 부모 메소드를 호출 할 수 있다. super.부모메소드(); class Parents{ ①void method1() {...} ②void method2() {...} } class Child extends Parents { @Override ③void method2() {..재정의된 내용..} ④void method3() { method2(); =>③ super.method2(); =>② } } 예시 //부모클래스 public class Airplane { public void land().. 7_1 상속_메소드재정의(Overriding) 어떤 부모 클래스는 자식 클래스가 사용하기에 적합하지 않을 수 있다. 이 경우 상속된 일부 메소드는 자식클래스에서 다시 수정 할 수 있다. =메소드 재정의 = overriding -메소드가 재정의되었다면 부모 객체의 메소드는 숨겨진다. 자식 객체에서 메소드를 호출하면 재정의된 자식 메소드가 호출된다. class Parent { ①void method1(){} ②void method2(){} } class Cild extends Parent { @Overrid ③method2(){ 재정의된 메소드 } } class ChileExample{ public static void main(String[] args){ child.method1(); =>①호출 child.mehtod2(); =>③호출 ②는 숨겨짐 }.. 7_1 상속( inheritance) => 자식클래스인 class Chileren은 실제로 field1, fiel2, method1(), method2() 네 개 를 가지게 된다. 클래스 상속 자바에서는 자식이 어떤 부모를 상속 받을지 선택한다. 아래처럼 자식 클래스를 선언 할 때 뒤에 extends 부모클래스를 뒤에 기술. class 자식클래스 extends 부모클래스 { //필드 //생성자 //메소드 } 상속의 특징 1. 여러 개의 부모 클래스를 상속 할 수 없음. 2. 상속대상 제외 : private접근제한, defualt 접근 제한 상속 예제 //부모클래스 public class CellPhone { //필드 String model; String color; //생성자 //메소드 void powerOn() { System.out.pr.. 5.7.3_열거 객체의 메소드 package sec07.exam01_enum; public class WeekMethodExample { public static void main(String[] args) { //name() 메소드 Week today = Week.SUNDAY; String name = today.name();//String타입 name에 today의 문자열을 입력 System.out.println(name);//SUNDAY출력 //ordinal() 메소드 int ordinal = today.ordinal(); System.out.println(ordinal);//6 출력 //compareTo() 메소드 Week day1 = Week.MONDAY; Week day2 = Week.WEDNESDAY; int result.. 5.7.2_열거 타입 변수 열거타입을 선언했다면 이제 열거 타입을 사용 할 수 있다. 열거 타입도 하나의 데이터 타입이므로 변수를 선언하고 사용해야 한다. 열거 타입 변수 선언 열거타입 변수; 예시) 앞의 열거타입 Week로 변수를 선언하면 다음과 같다. public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } 가 이미 선언되었다고 가정하자. Week today; Week reservationDay; 열거타입 상수 저장 열거타입 변수 = 열거타입.열거상수; -열거 상수는 단독으로 사용 할 수는 없고 반드시 열거타입.열거상수로 사용된다. -열거타입 변수값은 열거 상수 중 하나여야 한다. (위의 Week 열거타입을 예로 들자면 월화수목금토일 .. 5.7.1 열거타입 (enumeration type) 열거타입이란 열거타입: 한정된 값만을 갖는 데이터 타입 한정된 값은 열거 상수로 정의한다. 열거상수: 열거 타입의 값 ex)요일에 대한 테이터는 월, 화, 수, 목, 금, 토, 일이라는 일곱개의 열거상수만을 가진다. 계절에 대한 데이터는 봄, 여름, 가을, 겨울이라는 네 개의 값만을 가짐. 5.7.1_열거타입 선언 1. 열거 타입이 이름을 정하고 타입 이름으로 열거타입 소스파일(.java)을 생성해야 한다. -: file-new-Enum -타입 이름 규칙은 클래스 이름 작성법과 동일하다. 2. 소스 파일의 내용으로는 다음과 같이 열거 타입 선언이 온다. public enum 열거타입이름 { 열거상수선언 } -파일 이름과 동일해야 함 -열거 상수는 관례적으로 대문자이다. (상수이기 때문) 예시: publi.. 이전 1 2 3 다음