일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- css
- 이진 탐색(binary search)
- 프로그래머스
- wil
- Spring
- 코딩테스트 준비
- 개발자 취업
- 배열
- GIT
- Java
- 항해99
- github
- Grafana
- 메서드
- cs 공부)준비
- 우선순위 큐(priorityqueue)
- 정렬 알고리즘(sort algorithm)
- 코딩문제
- ArrayList
- aop
- 코딩공부
- 자료구조
- 99클럽
- Til
- HTML
- Entity
- 코딩
- 회고
- 자바
- 면접(java
- Today
- Total
목록기술/java (35)
hayu's 개발 일지
공부한 내용캡슐화캡슐화(Encapsulation)는 객체 지향 프로그래밍의 중요한 개념 중 하나다.캡슐화는 데이터와 해당 데이터를 처리하는 메서드를 하나로 묶어서 외부에서의 접근을 제한하는 것을 말한다.캡슐화를 통해 데이터의 직접적인 변경을 방지하거나 제한할 수 있다.캡슐화는 쉽게 이야기해서 속성과 기능을 하나로 묶고, 외부에 꼭 필요한 기능만 노출하고 나머지는 모두 내부로 숨기는 것이다.⇒ 캡슐화를 안전하게 완성할 수 있게 해주는 장치가 바로 접근 제어자이다.캡슐화 - 접근 제어자의 사용 목적캡슐화는 접근 제어자를 사용하여 ‘클래스의 멤버’에 대한 접근을 제한함으로써 구현할 수 있다.이를 통해 클래스의 내부 구현 세부사항을 숨기고 있어 외부에서 직접 접근하지 못하도록함으로써 안정성과 유지 보수성을 높일..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/KsdAW/btsIjvXzqW2/hqMM96TO3gPhzc3B0eAB71/img.png)
공부한 내용접근 제어자접근제어자는 멤버 또는 클래스에 사용되어 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 한다.접근 제어자를 사용하여 적절한 접근 범위를 설정함으로써 클래스와 멤버의 캡슐화를 유지하고 응집도를 높이며 코드의 재사용성과 유지보수성을 향상할 수 있다.접근제어자는 생략가능하며 생략했을 때는 자동으로 default 임을 뜻하게 된다. 따라서 default일 경우에는 접근제어자를 지정하지 않는다.접근제어자가 사용될 수 있는 곳은 클래스, 멤버 변수, 메서드, 생성자이다.접근 제어자의 종류순서대로 private 이 가장 많이 차단하고, public 이 가장 많이 허용한다.private -> default -> protected -> publicpublic :클래스, 메서..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/U6Oga/btsIhaGjwXk/6sYYOW0M5pB1WvQRcoz8x1/img.png)
공부한 내용패키지와 계층 구조패키지는 보통 다음과 같이 계층 구조를 이룬다.abc이렇게 하면 다음과 같이 총 3개의 패키지가 존재한다. a , a.b , a.c계층 구조상 a 패키지 하위에 a.b 패키지와 a.c 패키지가 있다.그런데 이것은 우리 눈에 보기에 계층 구조를 이룰 뿐이다. a 패키지와 a.b , a.c 패키지는 서로 완전히 다른 패키지이다.따라서 a 패키지의 클래스에서 a.b 패키지의 클래스가 필요하면 import 해서 사용해야 한다. 반대도 물론 마찬가지이다.정리하면 패키지가 계층 구조를 이루더라도 모든 패키지는 서로 다른 패키지이다.물론 사람이 이해하기 쉽게 계층 구조를 잘 활용해서 패키지를 분류하는 것은 좋다. 참고로 카테고리는 보통 큰 분류에서 세세한 분류로 점점 나누어진다. 패키지도..
공부한 내용패키지(package)컴퓨터는 보통 파일을 분류하기 위해 폴더, 디렉토리라는 개념을 제공한다. 자바에서 이런 개념을 제공하는 것이 패키지이다.⇒ 클래스의 묶음으로 클래스를 용도별이나 기능별로 그룹화한 것을 말한다.예시.* user * User * UserManager * UserHistory* product * Product * ProductCatalog * ProductImage* order * Order * OrderService * OrderHistory* cart * ShoppingCart * CartItem* payment * Payment * PaymentHistory* shipping * Shipment * ShipmentTracker패키지를 사용하는 경우 항상 코드 첫줄에 pac..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmRwSc/btsHVUjUkUO/OX0w6K6YNTFAZkCHAPRWt1/img.png)
학습 키워드- this 공부한 내용thisthis는 인스턴스의 자기자신을 의미한다.인스턴스화 되었을 때 자기 자신의 메모리 주소를 담고있는 키워드이다.this 키워드의 세가지 역할자기 자신의 메모리를 가르킨다.생성자에서 다른 생성자를 호출할 경우 사용한다.인스턴스 자신의 주소를 반환할 때 사용한다.this를 사용해야만 하는 경우메소드(생성자 포함)의 매개변수와 클래스 멤버변수가 동일한 이름일 경우 전달인자와 속성이 구분이 되지 않기 때문에 문제가 발생하는데 이를 구분짓기 위해서 속성 앞에 레퍼런스 this를 덧붙인다. 멤버변수 앞에 this를 붙여야 값이 저장된다.this와 this( )의 용도this는 객체 자신을 가리키는 레퍼런스 변수(참조 변수)로, 자신의 객체에 접근할 때 사용된다. - 주로 멤버..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bAg9Jr/btsHVKBSgiV/MkgtXKZh357cYmmWXjuWR1/img.png)
학습 키워드- 캡슐화 공부한 내용캡슐화캡슐화란 쉽게 말하면 변수나 메서드들을 캡슐로 감싸서 안보이게 하는 정보 은닉 개념 중 하나이다.즉, 캡슐화는 객체의 속성(Field)과 행위(Meyhod)를 하나로 묶고, 외부로부터 내부를 감싸 숨겨 은닉한다. 또한 외부의 잘못된 접근으로 값이 변하는 의도치 않는 동작을 방지하는 보호 효과도 누릴 수 있다.자바에서는 대표적으로 protected , default , private의 접근제어자를 통해 구현이 가능하다.class Time { private int hour; // hour는 외부에서 접근하지 못하게private으로 선언한다. // Setter public void setHour(int hour) { if (hour 24) ..