일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- wil
- 항해99
- ArrayList
- Spring
- GIT
- 개발자 취업
- 정렬 알고리즘(sort algorithm)
- 코딩공부
- 회고
- 99클럽
- 코딩문제
- HTML
- css
- Til
- 우선순위 큐(priorityqueue)
- 코딩
- 면접(java
- Entity
- cs 공부)준비
- 이진 탐색(binary search)
- 코딩테스트 준비
- 프로그래머스
- 메서드
- Java
- github
- aop
- Grafana
- 자료구조
- 자바
- 배열
- Today
- Total
목록기술 (45)
hayu's 개발 일지
![](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) ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b3h7u1/btsHTEHPsWf/YAWamzFRoYkjFRdwG3cNQK/img.png)
학습 키워드- 애너테이션(Annotation) 공부한 내용애너테이션(Annotation) 이란?애너테이션은 코드 메타 데이터(자신의 정보를 담고 있는 데이터)이다.애너테이션은 주석처럼 프로그램에 영향을 미치지 않으면서 유용한 정보를 제공한다. 즉, 코드 사이에 주석처럼 쓰이며 부가적인 정보나 기능을 제공하는 것이다.애너테이션은 코드에 영향을 주지않는다.애너테이션의 용도애너테이션은 코드 문법 에러를 체크하도록 정보를 제공한다.코드를 자동으로 생성할 수 있도록 정보를 제공한다.특정 기능을 실행하도록 정보를 제공한다.애너테이션의 종류애너테이션은 크게 두 종류로 나뉘는데, 표준 애너테이션과 메타 애너테이션이다.표준 애너테이션자바에서 기본적으로 제공하는 애너테이션이다.표준 애너테이션 설명@Override해당 메서..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bbwQbZ/btsHSvjkFvx/BAMV8ibqa5p00McUXswOg0/img.png)
학습 키워드- 절차 지향 프로그래밍 VS 객체 지향 프로그래밍 공부한 내용절차 지향 프로그래밍 VS 객체 지향 프로그래밍절차 지향 프로그래밍절차 지향 프로그래밍은 이름 그대로 절차를 지향한다. 실행 순서를 중요하게 생각하는 방식이다.절차 지향 프로그래밍은 프로그램의 흐름을 순차적으로 따르며 처리하는 방식이다. 즉, “어떻게”를 중심으로 프로그래밍 한다.객체 지향 프로그래밍객체 지향 프로그래밍은 이름 그대로 객체를 지향한다. 객체를 중요하게 생각하는 방식이다.객체 지향 프로그래밍은 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식이다. 즉, “무엇을” 중심으로 프로그래밍한다.차이절차 지향은 데이터와 해당 데이터에 대한 처리 방식이 분리되어 있다. 반면 객..