[JAVA] 객체지향 - 다형성 (polymorphism)
·
JAVA
다형성(polymorphism) : 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미한다. 자바에서는 다형성을 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 하여 구현하고 있으며 상속, 추상화와 더불어 객체 지향 프로그래밍을 구성하는 중요한 특징 중 하나이다. 업캐스팅(Upcasting) : 서브 클래스의 객체가 수퍼 클래스 타입으로 형변환되는 것. → 상속을 받은 서브클래스가 몇 개이든 하나의 인스턴스로 묶어서 관리하기 위해서 업캐스팅 함 package inherit; class Person { String name; int age; public Person(String name) { this.name = name; } } class Student extends..
[JAVA] 객체지향 - 메소드 오버라이딩 (method overriding)
·
JAVA
메소드 오버라이딩(method overriding) : 상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니쳐를 갖는 메소드로 다시 정의. 자식 클래스는 부모 클래스의 private 멤버를 제외한 모든 메소드를 상속받은 후 메소드를 그대로 사용해도 되고, 필요한 동작을 위해 재정의하여 사용할 수도 있는 것을 뜻한다. 오버라이딩의 조건 메소드의 동작만을 재정의하는 것이므로, 메소드의 선언부는 기존 메소드와 완전히 같아야 한다. 메소드의 반환 타입은 부모 클래스의 반환 타입으로 타입 변환할 수 있는 타입이라면 변경할 수 있다. 부모 클래스의 메소드보다 접근 제어자를 더 좁은 범위로 변경할 수 없다. 부모 클래스의 메소드보다 더 큰 범위의 예외를 선언할 수 없다. package ..
[JAVA] 객체지향 - super와 super()
·
JAVA
super 키워드 부모 클래스로부터 상속받은 필드나 메소드를 자식 클래스에서 참조하는 데 사용하는 참조 변수이다. 인스턴스 변수의 이름과 지역 변수의 이름이 같을 경우 인스턴스 변수 앞에 this 키워드를 사용하여 구분하는 것 처럼 부모 클래스의 멤버와 자식 클래스의 멤버 이름이 같을 경우 super 키워드를 사용하여 구별할 수 있다. class Parent { int a = 10; } class Child extends Parent { int a = 20; void display() { System.out.println(a); System.out.println(this.a); System.out.println(super.a); } } public class SuperTest { public static..
[JAVA] 객체지향 - 문자열 비교
·
JAVA
ⓘ equals()으로 문자열 비교 equals()를 사용하여 두개의 문자열이 동일한지 비교할 수 있다. 객체의 순서를 바꿔도 결과는 동일하다. 사용법 : 비교할 변수.equals(비교대상 변수); String str1 = "Hello"; String str2 = "World"; String str3 = "Hello"; System.out.println("str1.equals(str2) : " + str1.equals(str2)); System.out.println("str2.equals(str1) : " + str2.equals(str1)); System.out.println("str1.equals(str3) : " + str1.equals(str3)); Output: str1.equals(str2) ..
해니01_15
'자바기초' 태그의 글 목록 (5 Page)