본문 바로가기
728x90
반응형

언어(Language)15

[Java] Object 클래스의 메서드 java.lang 패키지 프로그래밍시 import 하지 않아도 자동으로 import 된다. 만ㅇㅎ이 사용하는 기본 클래스들이 속한 패키지이다. String, Integer, System 등이 있다. Object 클래스 java.lang.Object 클래스이다. 모든 클래스의 최상위 클래스이다. 모든 클래스는 Object에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있다. 컴파일러가 extends Object를 추가했다. (class Human extends Object) toString() 메서드 객체의 정보를 String으로 바꾸어서 사용할 때 쓰인다. String이나 Integer 클래스는 이미 재정의 되어 있다. 클래스에서 toString()을 오버라이딩해서 사용할 수.. 2023. 2. 28.
[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.
728x90
반응형