클래스의 간의 관계에는 크게 두 가지가 있다. IS-A Relationship 쉽게 말하면 상속관계이다. 부모클래스와 자식클래스를 구별할때 IS-A 관계를 생각하곤 하는데 예를들면 사과는 과일이다.컴퓨터는 전자기기이다. 등 의 관계를 생각해보자 어떤 걸 부모클래스로 둬야할지 감이 오지 않는다면, 이렇게 생각해보자 사과는 과일이다는 틀리지 않지만, 과일은 사과이다? 이건 명백하게 틀린말이다. HAS-A Relationship IS-A가 카테고리를 구별하기 위해 만든다면, HAS-A 는 특정기능을 사용하고 싶을때 자주 사용한다. 차로 예를 들자면 차는 엔진을 가지고 있다. 즉 기능을 포함시키고 싶을때 사용 하는 것이 HAS-A 이다. IS-A와 HAS-A의 관계를 이해한다면 사실 다 이해했다고 봐도 무방하다..
다차원 배열을 사용하게 되면서 구조가 복잡해져서, 머리에서 바로 이 프로그램을 떠올리는 속도가 늦었다. 내가 사용한방법은 필요한 값들의 가장 큰 값을 생각하고 이를 그림으로 순차적으로 표현해서 그림을 참고하며 프로그램을 작성했다. 프로그램의 큰 틀을 일단 글로 작성했다. 1.반의 갯수 2.반 인원수 3.반 인원수에 맞춰 국영수 점수 입력(국영수 점수를 바탕으로 총점과 평균을 계산) 4.일괄 출력 import java.util.Scanner; public class Calculator { public static void main(String[] args) { int clasnum; String[][]name=null; int[][][]score=null; Scanner sc= new Scanner(Sys..
핵심 내용 stack과 heap개념을 확실하게 알았고 어떤식으로 동작하고 이 개념을 알아야 하는 이유도 알았다. 6)배열의 길이 구하기 array.length의 값과 array[2].length의 값을 구하기. int[][] array = { {95, 86}, {83, 92, 96}, {78, 83, 93, 87, 88} }; 여기서 [ ]의 값은 임의로 지정할수있고, 지정하지 않은경우 배열의안의 값을 직접 지정해서 넣어줘야 함 [ ]를 두번 사용하면 2차원 구조로 배열이 생성된다. 아래는 이 코드의 구조이다 보면서 생각하면 조금 더 이해가 잘된다. array라는 int타입 변수가 생성되었고, 그 와 동시에 배열을 만들었는데 이 값들은 heap안으로 가게된다. heap안의 구조를 살펴보면 가장 처음으로 ..
Stack과 Heap은 메모리의 종류이다. 두개를 한 곳에 정리하는 이유는 둘은 밀접한 관계를 가지고 있기 때문이다. Heap을 설명하기 전에 Stack을 먼저 이해해야하는데 기본적인 Stack의 동작과정은 아래와 같다. 1)Stack main( ) work( ) more( ) 세개의 메소드와 각 메소드 마다 int 형 abc변수를 넣어 실행시키면 stack 메모리는 다음과 같은 변화가 생긴다. 위에서 실행된 코드부터 Stack메모리에 저장되는데 main()이 가장 위에 있기때문에 a를 가장 먼저 저장한다. 그 뒤에 있는 b값을 저장한다. 마지막으로 c값을 저장한다. 그리고 짜여진 프로그램이 끝나는 지점에서 stack메모리에 pop 현상이 일어난다. pop현상은 스택메모리에 저장된값이 삭제되는거라고 이해..
다이아몬드 구조를 가진 패턴을 for문을 활용해서 만들려고 한다. for문을 두개 활용하면, 간단하게 만들 수 있는 구조 이지만 하나의 for문을 가지고 다이아몬드 구조를 만들기는 어렵다. 그 이유는 다음과 같다. 중앙값(정 중앙의 별의 갯수) 이 5인 다이아몬드 패턴을 만들면, 빈 공간의 수는 2칸 1칸 0칸으로 줄었다가 다시 1칸 2칸으로 늘어난다. 그럼 for문이 루프함에 따라 루프수 2,1,0,1,2 가 나와야 하는데 일반적인 for문의 구조를 살펴보면서 생각해보자 for (int a=0;aa;b--); System.out.print(" "); } } 이 다중 for문에서 b값은 점점 감소하도록 구조를 만들었다. 이렇게 되면 루프수가 2,1,0 되서 앞의 빈공간을 만들 수 있지만, 1,2로 증가하..
if문은 매우 간단한 구조로 되어있다. 사용하기 편리한 만큼, 복잡한 구조를 만들기 어렵다. 일반적인 구조는 if(조건){ 내용; } if문의 조건식이 참일 경우, 내용을 출력하지만 거짓이면 아무것도 출력하지 않는다. 반대로 else문이 있는데 if(조건){ 내용; }else{ 내용; } if문이 조건식이 거짓일 경우 else문의 내용이 출력된다. 마지막으로 else if문은 조금 특별하다. if(조건){ 실행문; } else if(조건){ 실행문; } else{ 실행문; } if문이 거짓이고 else if값이 참이면 else값이 실행되고, 둘다 거짓이면 else문이 실행된다. 간단한 코딩을 해서 알아보면 public static void main(String[] args) { int a=1; if(a>..
- Total
- Today
- Yesterday
- springcloud
- consumer
- config
- github
- 오늘저녁 삼겹살
- kafka
- 빅-오
- ACTUATOR
- git
- 운동일기
- JWT
- Logstash to ElasticSearch
- 미래의나에게동기부여
- Kafka Connect
- Logstash 활용
- rabbitmq
- Feign
- MariaDB
- 루틴기록
- 운동
- prometheus
- docker
- LoadBalancer
- UserService
- Gateway
- zipkin
- elasticSearch
- MSA
- producer
- Spring + ELK
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |