본문 바로가기

자바의 정석3

[Java] 다형성(polymorphism), 추상 클래스, 인터페이스, 내부 클래스 다형성 (polymorphism) 여러 가지 형태를 가질 수 있는 능력 (하나의 객체가 여러개의 자료형 타입을 가질 수 있는 것) 조상 타입 참조 변수로 자손 타입 객체를 다루는 것 자손 타입의 참조변수로 조상 타입의 객체를 가리킬 수 없다. 조상: TV, 자손: SmartTV Tv t = new SmartTV(); // OK SmartTv s = new TV(); // 에러 멤버의 개수가 7가진데 5가지만 참조변수로 사용할 수도 있다. ✔️ 참조변수의 형변환 사용할 수 있는 멤버의 개수를 조절하는 것 조상 자손 관계의 참조변수는 서로 형변환 가능하다. 자손타입 -> 조상타입(up-casting) : 형변환 생략가능 조상타입 -> 자손타입(down-casting) : 형변환 생략불가 FireEngine .. 2022. 10. 12.
[Java] 상속 (Inheritance), 오버라이딩, super, super() 상속 (Inheritance) 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것. (코드의 재사용) 자손은 조상의 모든 멤버를 상속받는다. (생성자, 초기화 블록 제외) 자손의 멤버 개수는 조상보다 적을 수 없다. class Parent { int age; } class Child extends Parent {} : 이때 부모 멤버 1개를 모두 상속받았기 때문에 자식 또한 멤버 1개이다. 자손의 변경은 조상에 영향을 미치지 않는다. 예시 class Point { int x; int y; } class Point3D extends Point { int z; } ✔️ 포함 관계 클래스의 멤버로 참조변수를 선언하는 것 작은 단위의 클래스를 만들고, 이들을 조합해서 클래스를 만든다. 예시 class Poi.. 2022. 10. 9.
[Java] 클래스와 객체, 변수와 메서드, 오버로딩, 생성자 1. 객체지향언어 ✔️ 객체 지향 프로그래밍 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. (협력) 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. ✔️ 특징 코드의 재사용성이 높다. 코드의 관리가 용이하다. 신뢰성이 높은 프로그래밍을 가능하게 한다.(캡슐화) ✔️ 핵심개념 캡슐화 상속 추상화 다형성 자바 언어 자바 언어의 다형성을 활용 역할 = 인터페이스 구현 = 인터페이스를 구현한 클래스, 구현 객체 객체를 설계할 때 역할과 구현을 명확히 분리 객체 설계시 역할(인터페.. 2022. 9. 17.
반응형