목차 상속 상속의 장단점 2-1. 상속의 장점 2-2. 상속의 단점 is-a 관계 super.와 super(); 4-1. super. 4-2. super(); 4-3. this()와 super(), this.와 super. 접근제한자 protected 오버라이딩(overriding) 객체 지향 프로그래밍(OOP, Object Oriented Programming) 3대 원칙이 캡슐화와 추상화, 상속, 다형성이다. 그 중 상속에 대해 배워보자. 1. 상속 SuperA a; △ ↑ ChildB b=a; 상속에는 부모클래스와 자식클래스란 개념이 등장한다. 부모의 멤버(필드, 메소드)를 자식이 물려 받아 마치 자신의 멤버인 것처럼 사용할 수 있도록 만든 기술이다. 멤버 외에 타입 또한 상속이 된다. 여기서 이어..
✅ 답안과 비교하여 스스로 코드 개선점 짚어보기 완료(2022.01.03) HARD1. 기본 생성자 활용 설정자(setter) 통한 필드값 변경과 접근자(getter) 이용한 필드값 출력 ✅ 답안에서는 Application.class 맨 마지막에 scanner.close(); 구문을 넣어 스캐너를 종료시켰다. 입력한 임의의 값 package com.greedy.level03.hard.emp.model.dto; public class EmployeeDTO { private int number; private String name; private String dept; private String job; private int age; private char gender; private int salary; ..
✅ 답안과 비교하여 스스로 코드 개선점 짚어보기 완료(2022.01.03) NORMAL2. 모든 필드를 초기화하는 생성자 활용 ✅ printInformation 메소드에서 변수를 this.grade가 아닌 그냥 grade로 쓴다. 어차피 가리키는 값은 전역변수 grade이기 때문이다. int 다음 String을 스캔 받는 경우 등에는 개행을 위해 입력 받을 값 앞에 scanner.nextLine();를 쓴다. 학년 : 1 반 : 2 이름 : 김자바 키 : 160.5 성별 : 여 package com.greedy.level02.normal.student.dto; public class StudentDTO { private int grade; private int classroom; private Strin..
목차 캡슐화 추상화 생성자 1. 캡슐화(encapsulation) 클래스 작성할 때 특별한 경우가 아닌 이상 지켜야 하는 기본 원칙이다. 필드로의 직접 접근을 제한하고, public 메소드를 이용해 간접 접근하도록 만든 기술이다. 달리 말하면 데이터를 은닉하는 것이 된다. 캡슐화는 결합도를 낮춘다. 예를 들어 필드명을 바꾸거나 했을 때 이를 사용한 다른 클래스에서 영향을 받지 않게끔 만든다. 한 클래스의 변경이 다른 클래스에 미치는 영향이 극히 낮다는 의미이다. 1-1. 접근제한자 정의 접근제한자란, 참조연산자(.)를 가지고 접근할 때에 클래스나 클래스의 멤버(필드, 메소드)에 접근할 수 있는 범위를 제한하는 키워드이다. 구분 해당 클래스 내 같은 패키지 내 후손 클래스 내 전체 + public O O ..
목차 클래스 사용 이유 사용자 정의 자료형 사용 1. 클래스 사용 이유 앞서 데이터를 저장하는 방법으로 배운 변수와 배열은 다음과 같은 특징이 있다: 예컨대 변수는 하나의 공간에 하나의 값을 저장한다. 배열은 같은 자료형의 값만을 취급할 수 있다. 이는 곧 데이터 관리 측면에서 단점을 낳기도 한다. 관리해야 하는 대상이 늘어날수록 사용자(개발자)가 변수명을 일일이 알고 다뤄야 한다는 번거로움이 따른다. 메소드 호출 시 전달인자가 그만큼 많아져 단번에 파악하기 어렵게 된다. 또한, 메소드에서 return;은 1개의 값만을 보낼 수 있기에 필요로 하는 정보 타입만큼의 메소드를 하나하나 만들어 리턴값을 배부해야 하기에 비효율적이다. 이 같은 이유에서 서로 다른 자료형 데이터를 사용자 정의의 새로운 타입으로 정..