분류 전체보기79 2024.04.22 43일차 JAVA 추상클래스, 인터페이스, 예외처리 추상화 Abstract 자바에서의 추상은 아직 불완전한 클래스와 메서드 추상클래스와 추상 메서드 public abstract class A { int a; public abstract void add(); } 추상 클래스 Abstract Class 추상 메서드가 하나 이상 포함되어 있는 클래스 미완성 된 메서드를 포함하고 있기 때문에 스스로의 객체를 생성할 수 없음 반드시 추상 클래스를 상속받아 추상 메서드를 구현한 자식 클래스를 통해서 생성해서 사용해야 함 추상클래스 상속받은 자식 클래스는 추상메서드를 반드시 오버라이딩 해야 함 추상 클래스에는 추상메서드만 선언할 수 있는 게 아닙니다. 일반 메서드도 얼마든지 선언이 가능하고 필드도 얼마든지 선언할 수 있습니다. 상속이 기본 베이스 추상 메서드 Abst.. 2024. 4. 22. 2024.04.19 42일차 JAVA 다형성 다형성 Polymorphism 다형성이란 "객체가 여러 형태를 가진다" = 하나의 객체가 여러가지 타입으로 사용되는 것 다형성은 상속을 전제 조건으로 함 다형성을 위해 자바는 자식 클래스가 부모 클래스의 타입을 가질 수 있도록 허용 부모 타입에 모든 자식 객체가 대입 될 수 있음 ** 객체지향 프로그래밍에서는 객체에 의존하지 않고 역할에 의존해야 함 (의존 = 종속) 다형성을 사용하는 이유 이종모음구조를 하나의 배열로 만들 수 있음 → 코드의 반복을 줄일 수 있음 오버라이딩된 메서드가 작동 // Sonata sonata1 = new Sonata(); Car sonata1 = new Sonata(); // Tucson tucson1 = new Tucson(); Car tucson1 = new Tucson(.. 2024. 4. 19. 2024.04.18 41일차 JAVA 상속2, static, final, 열거형 상속 - Child 필드에 a, b 없는데도 childMethod에서 this.a 사용할 때 에러 발생하지 않음 - Child에서 this.a, this.b가 없네? → 자동으로 super 링크로 부모에게 접근한 뒤 부모의 a, b를 가져옴 ( this.a == super.a ) public class Child extends Parent { // int a; // double b; boolean c; Child() { // super(); // 쓰지 않아도 자동으로 적용됨 // 부모클래스의 기본생성자를 호출 this(100); System.out.println("Child 클래스의 생성자 호출!"); this.c = true; } Child(int x) { System.out.println("Child.. 2024. 4. 18. 2024.04.17 40일차 JAVA 접근제한자, 정보은닉, 캡슐화, 상속 접근 제한자 Access Modifier 클래스, 필드, 메서드, 생성자에 대한 접근 권한을 제한하는 키워드 멤버에 대한 접근 범위를 제한함으로써 코드의 안정성을 높일 수 있음 사용자가 알 필요 없는, 또는 알아서는 안되는 정보들은 숨겨 줄 수 있음 접근 제어자 같은 클래스의 멤버 같은 패키지의 멤버 자식클래스의 멤버 그 외의 영역 public ○ ○ ○ ○ protected ○ ○ ○ X default ○ ○ X X private ○ X X X ** 클래스에는 public과 default 제한자만 사용 가능 정보 은닉 Information hiding 객체의 상태를 숨기고 외부에서 접근할 수 없도록 보호 객체의 필드에 불필요한 값이나 문제가 발생할 수 있는 값들이 직접 들어오는 것을 막기 위해 사용 접.. 2024. 4. 17. 이전 1 ··· 6 7 8 9 10 11 12 ··· 20 다음