오버라이딩 Java 프로그래밍 : 객체지향 (3) 상속 (extends) 상속을 사용하면 코드 중복을 제거하고, 기존 클래스를 확장하기 쉬워 프로그램 확장성을 증가시킬 수 있다. class A extends B {} 와 같은 형식으로 사용한다. B 클래스를 A가 상속받는 것이다. 이 경우 B가 부모 클래스, A가 자식 클래스가 된다. 해당 클래스의 필드는 물론이고 메소드를 그대로 사용할 수 있다. 업캐스팅이란, 자식 객체를 부모의 타입으로 ... 자바객체지향protected상속그룹화super인터페이스접근제어자업캐스팅오버라이딩다형성OOPJavaJava java oop 23 오버라이딩 오버라이딩 - 상속받은 조상의 메서드를 자신에 맞게 변경하는 것 - 선언부 변경불가, 구현부(내용)만 변경하는 것 오버라이딩의 조건 1.선언부가 조상 클래스의 메서드와 일치해야한다. (반환타입,메서드이름,매개변수목록이 일치해야함) 2.접근제어자를 조상클래스의 메서드보다 좁은 범위로 변경할수 없다. 3.예외는 조상클래스의 메서드보다 많이 선언할 수 없다. (적거나 같아야 한다)... 부모클래스조상클래스상속Overriding구현부예외접근제어자오버라이딩상속관계throws선언부자식클래스Overriding java oop 24 오버라이딩 예시 조상클래스인 Object클래스의 toString()을 오버라이딩해서 사용하는 예시 긴 5줄을 간단하게 2줄로 줄이는 과정... toString조상클래스objectOverriding오버라이딩Object클래스Object클래스 java oop 25 오버로딩과 오버라이딩 오버로딩: 기존에 없는 새로운 메서드를 정의하는 것(new) 상속과 관련없음 오버라이딩: 상속받은 메서드의 내용을 변경하는 것(change,modify)... 오버로딩상속Overriding오버라이딩overloadingOverriding 자바의 상속(inheritance) 정리 & 오버라이딩(overriding) Sub class에서 정의되어있지 않지만, Super class에서 public으로 정의되어 있다면 Sub class에서 이를 정의하지 않아도 자신의 메소드 인 것 처럼 사용할 수 있다. 그러나 private으로 정의되어있는 것은 해당 클래스에서 밖에서 접근할 수 없고, super class에서 정의된 accessors(get method)와 mutators(set method)로 접근해야 ... Java오버라이딩오버로딩상속Java [JAVA] 오버라이딩과 오버로딩 (Overriding, Overloading 오버라이딩 (Overriding) 오버라이딩이란, 상속 받은 클래스에서 상위 클래스의 메서드를 재정의하는 것을 말한다. 메서드 오버라이딩을 하려면 반환형, 메서드 이름, 매개변수 개수, 매개변수 자료형이 반드시 같아야 한다. 만약 여기서 객체 인스턴스를 생성하는 코드를 A a = new B();로 바꾸면 어떤 클래스의 add가 실행될까? 멤버 변수와 메서드는 선언한 클래스형에 따라 호출되니 ... Java오버라이딩상속Java 재정의 오버라이딩 Overriding 재정의(Override) 상속관계에서 상속받은 하위 클래스가 상위 클래스의 동작을 수정하는 것 Override (재정의 = 부모 메서드 무시) 메모리에 부모와 자식 메서드가 공존하지만 결국에는 자식 메서드가 실행된다 Child 를 두 타입으로 불러 올수있다. 2번으로 불렀을때가 특히 중요하다. Upcasting 이라고 한다. d.eat(); 을 했을 때, 원래라면 Parent인 Animal의... 자바재정의오버라이딩OverridingTPCOverriding 0908 Chapter 03. 자바 객체지향 프로그래밍 헤더,필드,메소드,생성자 Arrays.toString(배열변수); 사용 (impot java.util.Arrays; 해줘야함) toString 객체 역할을하지만 객체아니어서 오버라이딩 불가 객체안의 데이터를 스트링으로 바꿔주는것 한 생성자에서 다른 생성자 호출할 때 사용 메소드 호출을 받는 객체를 의미 변수 정의가 끝났다 = 값 대입 더 이상 못함 (다른언어의 상수와 비슷함) method는 ... 생성자 오버로딩인스턴스 변수메소드접근자클래스 메소드클래스 변수지역변수인스턴스 메소드생성자오버로딩오버라이딩클래스 구조캡슐화swap메소드 오버로딩swap [Java] OOP_오버라이딩(Overriding) 조상클래스로부터 상속받은 메소드의 내용을 상속받는 클래스에 맞게 변경하는 것을 오버라이딩이라 한다. //override : '~위에 덮어쓰다(overwrite)' 오버로딩과 헷갈리지말자 오버라이딩의 조건* 선언부가 같아야 한다. (이름, 매개변수, 리턴타입) 접근제어자를 좁은 범위로 변경할 수 없다. 조상클래스의 메소드보다 많은 수의 예외를 선언할 수 없다. 오버라이딩과 오버로딩의 차이 =>... OOP오버라이딩Java오버로딩오버라이딩과오버로딩의차이Java 오버라이딩과 정적바인딩 overwrite : 덮어쓰다 overriding : 부모클래스보다 자기의 멤버(변수, 메쏘드)가 우선! -> 오버라이팅x 덮어씌여지지 않음(기존것이 살아있음!) overloading : 함수의 매개변수를 다르게 재정의 할 수 있다. 정적바인딩... 오버라이딩정적바인딩오버라이딩
Java 프로그래밍 : 객체지향 (3) 상속 (extends) 상속을 사용하면 코드 중복을 제거하고, 기존 클래스를 확장하기 쉬워 프로그램 확장성을 증가시킬 수 있다. class A extends B {} 와 같은 형식으로 사용한다. B 클래스를 A가 상속받는 것이다. 이 경우 B가 부모 클래스, A가 자식 클래스가 된다. 해당 클래스의 필드는 물론이고 메소드를 그대로 사용할 수 있다. 업캐스팅이란, 자식 객체를 부모의 타입으로 ... 자바객체지향protected상속그룹화super인터페이스접근제어자업캐스팅오버라이딩다형성OOPJavaJava java oop 23 오버라이딩 오버라이딩 - 상속받은 조상의 메서드를 자신에 맞게 변경하는 것 - 선언부 변경불가, 구현부(내용)만 변경하는 것 오버라이딩의 조건 1.선언부가 조상 클래스의 메서드와 일치해야한다. (반환타입,메서드이름,매개변수목록이 일치해야함) 2.접근제어자를 조상클래스의 메서드보다 좁은 범위로 변경할수 없다. 3.예외는 조상클래스의 메서드보다 많이 선언할 수 없다. (적거나 같아야 한다)... 부모클래스조상클래스상속Overriding구현부예외접근제어자오버라이딩상속관계throws선언부자식클래스Overriding java oop 24 오버라이딩 예시 조상클래스인 Object클래스의 toString()을 오버라이딩해서 사용하는 예시 긴 5줄을 간단하게 2줄로 줄이는 과정... toString조상클래스objectOverriding오버라이딩Object클래스Object클래스 java oop 25 오버로딩과 오버라이딩 오버로딩: 기존에 없는 새로운 메서드를 정의하는 것(new) 상속과 관련없음 오버라이딩: 상속받은 메서드의 내용을 변경하는 것(change,modify)... 오버로딩상속Overriding오버라이딩overloadingOverriding 자바의 상속(inheritance) 정리 & 오버라이딩(overriding) Sub class에서 정의되어있지 않지만, Super class에서 public으로 정의되어 있다면 Sub class에서 이를 정의하지 않아도 자신의 메소드 인 것 처럼 사용할 수 있다. 그러나 private으로 정의되어있는 것은 해당 클래스에서 밖에서 접근할 수 없고, super class에서 정의된 accessors(get method)와 mutators(set method)로 접근해야 ... Java오버라이딩오버로딩상속Java [JAVA] 오버라이딩과 오버로딩 (Overriding, Overloading 오버라이딩 (Overriding) 오버라이딩이란, 상속 받은 클래스에서 상위 클래스의 메서드를 재정의하는 것을 말한다. 메서드 오버라이딩을 하려면 반환형, 메서드 이름, 매개변수 개수, 매개변수 자료형이 반드시 같아야 한다. 만약 여기서 객체 인스턴스를 생성하는 코드를 A a = new B();로 바꾸면 어떤 클래스의 add가 실행될까? 멤버 변수와 메서드는 선언한 클래스형에 따라 호출되니 ... Java오버라이딩상속Java 재정의 오버라이딩 Overriding 재정의(Override) 상속관계에서 상속받은 하위 클래스가 상위 클래스의 동작을 수정하는 것 Override (재정의 = 부모 메서드 무시) 메모리에 부모와 자식 메서드가 공존하지만 결국에는 자식 메서드가 실행된다 Child 를 두 타입으로 불러 올수있다. 2번으로 불렀을때가 특히 중요하다. Upcasting 이라고 한다. d.eat(); 을 했을 때, 원래라면 Parent인 Animal의... 자바재정의오버라이딩OverridingTPCOverriding 0908 Chapter 03. 자바 객체지향 프로그래밍 헤더,필드,메소드,생성자 Arrays.toString(배열변수); 사용 (impot java.util.Arrays; 해줘야함) toString 객체 역할을하지만 객체아니어서 오버라이딩 불가 객체안의 데이터를 스트링으로 바꿔주는것 한 생성자에서 다른 생성자 호출할 때 사용 메소드 호출을 받는 객체를 의미 변수 정의가 끝났다 = 값 대입 더 이상 못함 (다른언어의 상수와 비슷함) method는 ... 생성자 오버로딩인스턴스 변수메소드접근자클래스 메소드클래스 변수지역변수인스턴스 메소드생성자오버로딩오버라이딩클래스 구조캡슐화swap메소드 오버로딩swap [Java] OOP_오버라이딩(Overriding) 조상클래스로부터 상속받은 메소드의 내용을 상속받는 클래스에 맞게 변경하는 것을 오버라이딩이라 한다. //override : '~위에 덮어쓰다(overwrite)' 오버로딩과 헷갈리지말자 오버라이딩의 조건* 선언부가 같아야 한다. (이름, 매개변수, 리턴타입) 접근제어자를 좁은 범위로 변경할 수 없다. 조상클래스의 메소드보다 많은 수의 예외를 선언할 수 없다. 오버라이딩과 오버로딩의 차이 =>... OOP오버라이딩Java오버로딩오버라이딩과오버로딩의차이Java 오버라이딩과 정적바인딩 overwrite : 덮어쓰다 overriding : 부모클래스보다 자기의 멤버(변수, 메쏘드)가 우선! -> 오버라이팅x 덮어씌여지지 않음(기존것이 살아있음!) overloading : 함수의 매개변수를 다르게 재정의 할 수 있다. 정적바인딩... 오버라이딩정적바인딩오버라이딩