interface를 짧게 정의하면 기능을 오버라이딩을 통해 편리하게 사용 할 수 있는 기능이다. 상속관계만 이용한다면 클래스를 추가할때마다 일일히 기능을 추가해줘서 불편함이 클텐데 interface를 이용하면 오버라이딩을 통해 메소드를 줄일 수 있다. 다음은 인터페이스의 활용을 그림으로 나타낸것인데. 일반적으로 오버라이딩은 상위클래스와 하위클래스만 가능하다. 그렇기에 불편을감수하더라도 오버라이딩을 하기위해 상속을 사용하는 것인데, 인터페이스를 활용하면 다음과 같이 인터페이스를 implements 함수를 사용해 클래스들이 interface를 포함하게 되면, 강제적으로 인터페이스 안에 있는 메소드를 사용해야한다. 이클립스에서는 오버라이드를 안해주면 오류가나니, 이 기능이 필요해서 인터페이스를 포함시키면 강제..
inner class 란 클래스 안에 또 다른 클래스가 있는 형태를 말한다. is a 상속관계를 생각해보면 또 다른 클래스를 참조하는 형태이지만 inner class는 말그대로 클래스안에 존재한다 이런 식으로 클래스 안에 또 다른 클래스가 존재하는 형태이다 그리고 접근지정자를 private로 두면 일반 상속관계에서는 참조할수없지만 inner class를 통하면 접근지정자에 관계없이 사용이 가능하다. 구조는 아래와 같다. public class out{ private int a;//private를 붙여서 일반적으로는 클래스간 참조가 안된다. private int b;// "" public out(){ a=10; b=20; }//생성자를 통해 a와 b값을 초기화 class inner{ public void ..
클래스의 간의 관계에는 크게 두 가지가 있다. IS-A Relationship 쉽게 말하면 상속관계이다. 부모클래스와 자식클래스를 구별할때 IS-A 관계를 생각하곤 하는데 예를들면 사과는 과일이다.컴퓨터는 전자기기이다. 등 의 관계를 생각해보자 어떤 걸 부모클래스로 둬야할지 감이 오지 않는다면, 이렇게 생각해보자 사과는 과일이다는 틀리지 않지만, 과일은 사과이다? 이건 명백하게 틀린말이다. HAS-A Relationship IS-A가 카테고리를 구별하기 위해 만든다면, HAS-A 는 특정기능을 사용하고 싶을때 자주 사용한다. 차로 예를 들자면 차는 엔진을 가지고 있다. 즉 기능을 포함시키고 싶을때 사용 하는 것이 HAS-A 이다. IS-A와 HAS-A의 관계를 이해한다면 사실 다 이해했다고 봐도 무방하다..
Stack과 Heap은 메모리의 종류이다. 두개를 한 곳에 정리하는 이유는 둘은 밀접한 관계를 가지고 있기 때문이다. Heap을 설명하기 전에 Stack을 먼저 이해해야하는데 기본적인 Stack의 동작과정은 아래와 같다. 1)Stack main( ) work( ) more( ) 세개의 메소드와 각 메소드 마다 int 형 abc변수를 넣어 실행시키면 stack 메모리는 다음과 같은 변화가 생긴다. 위에서 실행된 코드부터 Stack메모리에 저장되는데 main()이 가장 위에 있기때문에 a를 가장 먼저 저장한다. 그 뒤에 있는 b값을 저장한다. 마지막으로 c값을 저장한다. 그리고 짜여진 프로그램이 끝나는 지점에서 stack메모리에 pop 현상이 일어난다. pop현상은 스택메모리에 저장된값이 삭제되는거라고 이해..
- Total
- Today
- Yesterday
- Feign
- github
- 루틴기록
- MSA
- Gateway
- Kafka Connect
- producer
- UserService
- docker
- MariaDB
- prometheus
- 오늘저녁 삼겹살
- Spring + ELK
- ACTUATOR
- 운동일기
- 운동
- 빅-오
- Logstash to ElasticSearch
- LoadBalancer
- Logstash 활용
- zipkin
- git
- config
- consumer
- elasticSearch
- kafka
- rabbitmq
- JWT
- 미래의나에게동기부여
- springcloud
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |