본문 바로가기

자바33

[Java] 다형성? 업캐스팅과 다운캐스팅 그리고 instanceof 연산자 TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. 다형성 하나의 메소드(or 클래스)가 다양한 방법으로 동작하는 것을 의미한다. 객체지향 프로그래밍의 3대 특징 중 하나 상속을 이용한 기술로 부모타입으로부터 파생된 자식 객체들을 부모 클래스 타입 하나로 다룰 수 있는 기술이다. 업 캐스팅 Up Casting 부모 타입의 참조형 변수가 모든 자식 타입의 객체 주소를 받을 수 있음을 의미 즉 자식타입에서 부모 타입으로 형변환이 되는 것을 말한다. 자동형변환이 가능하므로 생략하여도 괜찮다. 부모클래스 변수명 = new 자식클래스( ); 다운 캐스팅 Down Casting 부모 클래스 타입의 참조형 변수를 자식 클래스 타입으로 형변환하는 .. 2021. 1. 18.
[Java] 오버라이딩(Overriding)과 오버로딩(Overloading) TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. 오버라이딩(Overriding) 메소드 재정의라고도 부른다. 상속받고 있는 부모클래스의 메소드를 자식메소드에서 새롭게 정의하는 것 재정의할 때 메소드 상단에 @Override 어노테이션을 사용하는 것이 매너이다. (어노테이션(Annotation): 재정의했다는 것을 알려주는 목적으로 사용하며 어노테이션을 붙여준 경우엔 메소드 이름을 동일하게 작성해야한다.) 성립조건 부모클래스의 메소드와 자식클래스의 메소드는 - 메소드명, 매개변수의 개수, 타입, 반환형 동일해야하며 - 접근제어자를 부모클래스와 같거나 보다 넓은 범위로 변경할 수 있다. - private 메소드는 오버라이딩이 불가하다.. 2021. 1. 14.
[Java] 상속? 예제로 알아보는 상속의 목적과 장점 TIL: 스스로 이해한 것을 바탕으로 정리하였기에 오류가 있을 수 있습니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. 상속 inheritance 다른 클래스가 가지고 있는 멤버를 그대로 물려받음으로써 새 클래스를 자신의 멤버처럼 사용할 수 있는 기능 상속의 목적 부모가 만든 기능을 자식이 그대로 물려받음으로써 재활용이 가능해지고, 유지보수에 용이하다. 중복된 코드를 제거해줄 수 있다. 상속이 있을 때와 없을 때의 예시로 상속의 특징을 알아보기. 상속이 없다면? (tv, smartphone, desktop의 정보들을 객체로 관리하는 프로그램) tv에는 제품명, 제품 코드, 브랜드명, 가격, 인치의 정보가 smartphone에는 제품명, 제품 코드, 브랜드명, 가격, 통신사의 정보가 desktop에는 .. 2021. 1. 12.
[Java] 객체배열? 선언과 할당, 초기화 객체배열이란? 객체를 저장하는 배열로 여러 객체를 묶어 관리한다. 기본자료형 배열과 사용목적이 비슷하다. 객체배열의 선언 기본자료형 배열의 선언과 비슷하다. 클래스명 [ ] 배열명; 클래스명 배열명 [ ]; Student [ ] arr; Student arr [ ]; 객체배열의 할당 배열명 = new 클래스크기[배열크기] ; arr = new Student[5]; 선언과 동시에 할당 클래스명 배열명[ ] = new 클래스명[배열크기] ; Student[ ] arr = new Student[5]; 객체배열의 대입(초기화) 인덱스를 이용한 초기화와 선언+할당 동시에 초기화 하는 방법이 있다. 1) 인덱스를 이용한 초기화 배열명[i] = new 클래스명(); 2) 선언과 동시에 할당 및 초기화 클래스명 배열명.. 2021. 1. 11.