본문 바로가기
728x90
반응형

Java77

[Java] 인터페이스(interface) 인터페이스란? 모든 메서드가 추상 메서드로 선언된다. 모든 변수는 상수로 선언된다. 다중 상속이 가능하다. 인터페이스는 new를 할 수 없다.(인스턴스화 불가능) private 사용 할 수 없다. 부모 인터페이스를 물려받은 자식 클래스는 모두 오버라이딩 해야한다. public class Main{ public static void main(String[] args){ 사람 사람a = new 홍길동(); 택시기사 택시기사a = (택시기사)사람a; 버스기사 버스기사a = (버스기사)사람a; } } abstract class 사람{ } interface 택시기사{ } interface 버스기사{ } class 홍길동 extends 사람 implements 택시기사, 버스기사{ } 인터페이스 구현과 형 변변환 .. 2023. 2. 28.
[Java] 추상 클래스(abstract class) 추상 클래스란? 구현 코드 없이 메서드의 선언만 있는 추상 메서드(abstract method)를 포함한 클래스이다. 메서드 선언(declaration) : 반환타입, 메서드 이름, 매개변수로 구성한다. 메서드 정의(definition) : 메서드 구현(implementation)과 동일한 의미 구현부를 가진다. abstract 예약어를 사용 추상 클래스는 new 할 수 없다.(인스턴스화 할 수 없음) 추상 클래스 구현하기 메서드에 구현 코드가 없으면 abstract로 선언한다. abstract로 선언된 메서드를 가진 클래스는 abstract로 선언한다. 모든 메서드가 구현 된 클래스라도 abstract로 선언되면 추상 클래스로 인스턴스화 할 수 없다. 추상 클래스의 추상 메서드는 하위 클래스가 상속하여.. 2023. 2. 28.
[Java] 형변환(업캐스팅), 다운캐스팅 형변환(업캐스팅) 상위 클래스로 변수를 선언하고 하위 클래스의 생성자로 인스턴스를 생성 상위 클래스 타입의 변수에 하위 클래스 변수가 대입 하위 클래스는 상위 클래스의 타입을 내포하고 있으므로 상위 클래스로의 묵시적 형변환이 가능하다. 상속 관계에서 모든 하위 클래스는 상위 클래스로 형 변환이 된다.(그 역은 성립하지 않음) class 오리{ } class 흰오리 extends 오리{ } public class Main { public static void main(String[] args){ 오리 오리a = new 흰오리(); } } 흰오리 생성자에 의해 흰오리 클래스의 모든 멤버 변수에 대한 메모리는 생성되었지만 변수의 타입이 오리이므로 실제 접근 가능한 변수나 메서드는 오리클래스의 변수와 메서드이다.. 2023. 2. 24.
[Java] 상속(Inheritance)과 다형성(polymorphism) 객체지향 객체지향은 객체지향적인 방식으로 중복 코드를 없애기 위해서 존재한다. 객체지향적인 구조를 위해서 일부러 중복코드를 허용하는 경우도 있다. 상속이란? 상속이란 기존 클래스의 변수와 메소드를 물려 받아 새로운 클래스를 구성하는 것을 의미한다. 상속은 캡슐화, 추상화, 다형성 등 객체지향 프로그래밍에서 중요한 역할을 하는 개념이다. 상속의 목적 기존 클래스의 변수와 코드를 재사용할 수 있다. 즉, 유지보수가 쉽고, 중복이 적고, 통일성이 있는 코드를 작성할 수 있다. 클래스 간 계층적 분류 및 관리가 가능하여 유지보수가 용이하다. 코드를 공통적으로 관리해서 여러 코드의 추가 및 변경에 용이하다. 상속의 특징 부모 클래스의 생성자, 초기화 블럭은 상속이 안된다. 부모의 private 멤버는 상속은 되지.. 2023. 2. 24.
728x90
반응형