본문 바로가기

상속4

디폴트 생성자의 super() 의미 이클립스 등의 IDE에서 서블릿을 생성시 아래 처럼 디폴트 생성자를 만들어주며, 그 안에는 super()가 있다 @WebServlet("/today") public class TodayServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public TodayServlet() { super(); } 자바에서는 명시적으로 생성자를 작성하지 않을 시, 자동으로 디폴트 생성자를 만들어준다 라고 알고 있다. 그러나 써도 코드의 수행에는 아무 문제가 없기에 냅두고 있었다 하지만! 부스트코스 코드 리뷰에서 리뷰어 moons님의 답변을 보면 "불필요한 또는 잘.. 2022. 8. 1.
객체지향 프로그래밍의 4가지 특징 기억하자 추 캡 상 다 º 추상화 abstraction 객체를 설명하기위해 객체들의 공통적인 특징들을 가진 것끼리 묶어 클래스라는 추상적인 객체를 만드는 것 클래스가 없는 객체지향 언어도 있다 (javascript) º 캡슐화 encapsulation 객체의 변수(속성) 과 메소드를 묶어 구현내용을 외부에 감추는것 외부의 객체는 구현 부분을 알지 못하니 정보를 은닉할 수 있고 객체를 보호하는 기능도 있다 java 에서는 접근제한자를 사용하여 캡슐화 하고 있다 º 상속 inheritance 이전에 작성한 클래스(부모클래스, 상위클래스)의 속성(변수, 메소드 등의 기능)을 받아서 새로운 클래스 (자식클래스, 하위클래스) 에서도 사용 가능하도록 한 것 중복되는 코드(기능)를 부모 클래스에 넣고 기능을 받아사용.. 2022. 5. 2.
[java] this 와 super this 지역변수와 인스턴스 변수가 같은 경우 this 를 사용하여 클래스 명이 바뀌었을때 관리를 쉽게 할수있다 인스턴스 변수 : 클래스 내에서 선언한 변수 지역 변수 : 메소드 내에서 선언한 변수 super 상속관계에서 부모 클래스를 가져와서 매개변수에 값을 넣어 사용 시 super(매개변수) 를 사용한다 매개 변수가 없는 메소드를 가져올 시 매개변수를 넣으면 에러가 난다 "Unit.java" public class Unit { int hitPoint; // 인스턴스 변수 int speed; int range; int damage; public Unit(int a, int b, int c, int d) { this.hitPoint = a; // Unit이라는 메소드 내의 지역 변수, 여기선 같은 Uni.. 2022. 4. 25.
[java] 상속 extends 상속 extends 부모의 무언가를 자식에게 줄때 상속(Inheritance)라는 말을 쓴다 프로그래밍에서는 상속을 확장(extends) 이라고도 표현하고 extends 를 사용하여 상속기능을 한다 클래스 a 의 메소드와 변수를 다른 클래스가 갖도록(=사용가능 하도록) 하는 것. 재사용성,유지보수 편의성, 가독성, 코드량 함축의 장점이 있다 스타크래프트로 설명해보자 "Unit.java" public class Unit { int hitPoint; int speed; int range; int damage; } "TerranUnit.java" public class TerranUnit extends Unit { // 테란 유닛도 unit 의 성질을 가지고 있어야 하므로 unit 클래스를 상속하였다 bool.. 2022. 4. 25.