
✏️ 모듈과 패키지자바에서 패키지(package)란 서로 관련 있는 클래스나 인터페이스의 컴파일된 클래스(.class) 파일들을 한 곳에 묶어 놓은 것을 말한다. 패키지는 디렉터리와 연관되게 되는데, 하나의 패키지는 관련된 클래스 파일들이 들어 있는 디렉터리로 볼 수 있다. 자바 JDK는 개발자들에게 많은 클래스들을 패키지 형태로 제공하는데, JDK9 부터는 패키지들을 모듈(module)이라는 단위로 묶어, 100개에 가까운 모듈을 제공한다. 모듈은 JDK 설치 디렉터리 밑의 jmods 디렉터리에 .jmod 확장자를 가진 압축 파일 형태로 제공된다. ✏️ import문패키지를 어떻게 사용하는지 의문점이 생길 수 있다. 이때 import 문을 사용하여 패키지를 호출하거나 패키지에 있는 클래스를 호출할 수 ..

✏️ 업캐스팅자바에서 서브 클래스는 슈퍼 클래스의 속성을 상속받기 때문에, 서브 클래스의 객체는 슈퍼 클래스의 멤버를 모두 가진다. 그러므로 서브 클래스의 객체를 슈퍼 클래스의 객체로 취급할 수 있다. 서브 클래스의 객체에 대한 레퍼런스를 슈퍼 클래스 타입으로 변환하는 것을 업캐스팅(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) : 우리가 흔히 알고 있는 상속은 상위 개체의 속성이 하위 개체에 물려져서, 하위 개체가 상위 개체의 속성을 모두 가지게 된다. 자바에서의 상속은 자식 클래스가 ..
- Total
- Today
- Yesterday
- DFS
- HTML5
- 카운팅 정렬
- 자바
- 투 포인터
- 유클리드 호제법
- 에라토스테네스의 체
- BFS
- 자바스크립트
- 알고리즘 공부
- html
- C++
- 유니온 파인드
- C++ Stack
- 백준
- 반복문
- js
- Do it!
- 스프링 부트 crud 게시판 구현
- 이분 매칭
- 알고리즘
- c++ string
- java
- 스택
- DP
- 세그먼트 트리
- 자료구조
- 백준 풀이
- CSS
- 우선순위 큐
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |