✏️ 업캐스팅자바에서 서브 클래스는 슈퍼 클래스의 속성을 상속받기 때문에, 서브 클래스의 객체는 슈퍼 클래스의 멤버를 모두 가진다. 그러므로 서브 클래스의 객체를 슈퍼 클래스의 객체로 취급할 수 있다. 서브 클래스의 객체에 대한 레퍼런스를 슈퍼 클래스 타입으로 변환하는 것을 업캐스팅(upcasting)이라고 하며, 업캐스팅은 슈퍼 클래스의 래퍼런스로 서브 클래스의 객체를 가리키게 한다. 예시를 통해서 알아보자.Student 클래스는 Person 클래스를 상속받았고 p=s를 통해 업캐스팅을 하였다. 이렇게 되면 Person 타입의 객체 p는 Student 객체를 가리키게 된다. 그러나 레퍼런스 p로는 Person 클래스의 멤버만 접근할 수 없다. p는 Person타입이기 때문이고 grade와 depart는..
✏️ 상속부모 클래스에 만들어진 필드와 메소드를 자식 클래스가 물려받는 것을 상속이라고 한다. 상속 선언을 하면, 자식 클래스는 부모 클래스에 만들어진 필드와 메소드를 만들지 않고도 사용할 수 있다. 다만 상속은 클래스 사이의 개념이므로 객체 사이의 상속이 아니다. 상속을 선언 할 때는 extends를 사용한다. 상속이 가져다주는 장점은 아래와 같다.클래스의 간결화 - 멤버의 중복 작성 불필요클래스 관리 용이 - 클래스들의 계층적 분류소프트웨어의 생산성 향상 - 클래스 재사용과 확장 용이 ✏️ 상속 선언아래 코드는 상속을 선언하고 자식 클래스에서 부모 클래스의 메소드를 사용하는 예시 코드이다. 출력 결과는 (1,2) / red(3,4)이다.class Point{ private int x,y; ..
✏️ 객체 지향 언어의 특성캡슐화(Encapsulation) : 캡슐화란 객체를 캡슐로 싸서 내부를 보호하고 볼 수 없게 하는 것으로, 객체의 가장 본질적인 특징이다. 예를 들어서 설명하자면 캡슐 약을 생각해볼 수 있다. 캡슐에 든 약은 어떤 색인지, 어떤 성분인지 보이지 않으며 외부의 접근으로부터 안전하다. 객체는 캡슐화가 기본 원칙이지만 외부와의 접속을 위해 몇 부분은 공개 노출하고 있다. 이 부분을 위해서 자바에서의 객체는 클래스(CLASS)라는 캡슐을 사용하며 필드(멤버 변수)와 메소드(멤버 함수)로 구성된다.상속(inheritance) : 우리가 흔히 알고 있는 상속은 상위 개체의 속성이 하위 개체에 물려져서, 하위 개체가 상위 개체의 속성을 모두 가지게 된다. 자바에서의 상속은 자식 클래스가 ..
✏️ 배열배열은(Array)은 인덱스(index)와 인덱스에 대응하는 데이터들로 이루어진 연속적인 자료 구조로서, 같은 종류의 데이터들이 순차적으로 저장된다. 배열을 생성하는 코드는 다음과 같다. int i[] = new int[10]; // 10개의 정수 공간 배열 생성, 배열 이름은 i ✏️ 배열 선언 및 생성자바에서 배열의 생성은 두 단계로 이루어진다.배열에 대한 레퍼런스 변수 선언 => int intArray[]; // 이 선언만으로는 배열 공간이 할당되지 않으며 레퍼런스 변수만 생성된다. 즉 배열 공간에 대한 주소 값(레퍼런스 값)을 가진다고 할 수 있다. 그리고 선언 시에는 크기를 지정하면 안 된다.배열 생성 - 배열의 저장 공간 할당 => intArray = new int [5]; // 반..
- Total
- Today
- Yesterday
- C++
- 백준 풀이
- 자바스크립트
- 투 포인터
- 자료구조
- c++ string
- BFS
- 이분 매칭
- html
- 알고리즘
- 알고리즘 공부
- 세그먼트 트리
- 유니온 파인드
- js
- java
- 카운팅 정렬
- CSS
- 반복문
- Do it!
- 에라토스테네스의 체
- 백준
- 자바
- DP
- C++ Stack
- 스택
- 유클리드 호제법
- DFS
- 우선순위 큐
- HTML5
- 스프링 부트 crud 게시판 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |