본문 바로가기

분류 전체보기

(35)
static과 final 이 녀석들...  static과 final 헷갈리지 말자. static 어디서 많이 보지 않았나요. 그 녀석 맞아요.public class Main{ public static void main(String[] args){ }} 네 main에 붙어있습니다.  static 멤버는 클래스에 속하며, 클래스의 모든 인스턴스가 해당 멤버를 공유한다.클래스가 메모리에 로드될 때 static 멤버가 초기화된다.static 멤버는 클래스 이름을 통해 직접 접근이 가능하다. 이게 무슨 소리게요? 클래스에서 공유되는 멤버라는 뜻이에요. 예를 들어 Car 클래스가 있고 new myCar해서 내 차 색상은 검정이야. new yourCar해서 니 차 색상은 흰색이야. 근데 색상은 static 멤버야 그러면 각각 가..
Class, Object, Instance 진짜 알겠는데 맨날 까먹는 거 1위 (나만 그러면 말고) public class Car{ private String model; private String color; public Car(String model, String color){ this.model = model; this.color = color; } public void drive(){ System.out.println("drive"); }} 우리의 이해를 도와줄 예시 코드  Class클래스는 객체를 생성하기 위한 설계도이다.객체의 상태(필드)와 행동(메서드)을 정의한다. 그럼 Car 가 클래스 이겠죠? Car 클래스는 model과 color라는 필드를 가지고 있고, drive라는 ..
AWS EC2 80 -> 8080으로 포워딩 흙 EC2 서버에 내 프로젝트를 올려서 public ip로 접속이 된다!  내 도메인 한국에서 도메인 설정을 해줬는데 .. 도메인:8080을 해야 접속이 되는게 아닌가.. 진짜 너무 거슬려서 80으로 요청 시 8080으로 포워딩을 해줘야 겠다. 고 했는데 넘나 어려운 것 난 쉽게 원격 데스크톱으로 했기에 SSH 접속부터 어려웠다. 1. cmd를 열어서 .pem 파일이 있는 경로로 이동한다. cd C:\Users\유저네임\파일경로 2. SSH 접속ssh -i your-key-file.pem ec2-user@your-ec2-public-ip 우분투는 ec2-user 대신 ubuntu를 쓰면 된다.  연결해보자.  응 안돼.  인바운드 규칙 추가를 까먹었다. + 근데 안돼서 진짜 4시간동안 삽질했다. 왜 안되..
Java 메모리 - Stack, Heap, Method(Static) 앞선 포스팅으로 조금씩 들어는 봤을 거다. 이것만 보는 사람들도 있을 텐데 복습하는 마음가짐으로 정리해 보자. 자바 프로그램이 실행되면 JVM(자바 가상 머신)은 os에게 메모리를 할당받게 된다. 크게 Stack과 Heap으로 나뉜다. 데이터 타입에 따라 다르게 할당되는데, 변수 종류부터 알아야 한다.변수명선언위치 클래스 변수 (static 변수)클래스 영역클래스 영역에서 static이 붙는 변수, 객체를 공유하는 변수인스턴스 변수static이 아닌 변수, 개별적인 저장 공간으로 객체/인스턴스 마다 다른 값 저장 가능 지역 변수메서드 영역메서드 내에 선언되고 메서드 수행이 끝나면 소멸되는 변수매개 변수메서드 호출 시 전달되는 값을 가지고 있는 변수 변수의 생성 시기는 클래스 변수 - 클래스가 메모리에 올..
Java 자료구조 - 배열과 리스트 난 기초가 부족한 사람이야........................ 설명 못하면 너무 부족하지.. 다들 기초 빵빵하게 챙기세요!!!!!!!!! 배열(Array)과 리스트(List)는 상당히 비슷하지만 다르다.  배열부터 알아보자. 배열 ArrayJava에서 배열은 동일한 타입의 여러 값을 저장할 수 있는 연속적인 메모리 공간이다. 고정된 크기를 가진다.인덱스를 통해 요소에 접근할 수 있다.배열 선언&초기화// 배열 참조 변수만 선언int[] arr1;int arr2[];// 선언 + 크기 할당int[] arr3 = new int[3];// 선언 + 초기화int[] arr4 = {1,2,3};int[] arr5 = new int[]{1,2,3};// 선언된 배열의 참조 변수에 초기화 할당arr1 = ne..
[MySQL] Index 이해하기 SQL에서 Index는 최적화에 아주아주 중요하다. Index는 DB의 table에 대한 검색속도를 향상 시켜주는 자료구조이다. 라고 알고는 있었지만 실 사용은 제대로 안 해봤다는 거.. 왜냐하면 DB가 크지 않으니 안 써도 별 차이를 못 느꼈겠지... 하지만 아주 중요하니 정리하고 가겠다. 영상 하나를 정리하는 게 맞는 말이긴 하다. 훨씬 많은 개념들이 있을텐데 차근차근 정리하겠다.  * 참고한 자료의 출처 먼저 밝히겠다. 기가 막히니 다들 한 번씩 보면 좋을 거 같다. (혹시 문제 되면 말해주세요)  DB 인덱스(DB index) !! 핵심만 모아서 설명합니다 !! (31분이 아깝지 않을 겁니다) (youtube.com)  1. Index 사용 이유SELECT * FROM customer WHERE ..
Java 기초 다지기 - 문자열 포스팅 하나로 다 하려 했는데 진짜 너무 많아질거 같아서 따로 뺴야겠다.  문자열 자료형 char / Stringchar - 한 개의 문자 char a = 'C' - 2; // 67 - 2System.out.println(a); // ASCII 65 = A String - char[] 배열로 이루어진 데이터 자료String은 참조 자료형으로 heap 영역에 저장되고 주소만 stack 영역에 저장된다.기본적으로 자바에서 String 객체의 값은 변경할 수 없다.String a = "Hello";a = a + "World"; // 객체의 값이 변경되는게 아니라 Hello World를 따로 메모리에 만들어서 다시 참조한다.String 주소 할당 방식에는 2가지가 있다. 결과는 똑같지만 내부적으로 큰 차이가 존..
[MySQL] Join 알아보기 + 집합 연산 + 서브쿼리 SQL 공부할 때 Join이 들어가면 뭔가 헷갈렸었다.. 아마 지금도? 머쓱.. 뭐 써야지 하고 생각만 하고 모아놨더니 쓸게 한 바가지네.. 냅다 그림 투척 이것만 봐도 뭔지 대충은 알겠다..! 하나하나 알아보자. 먼저 예시 테이블 a1과 b1이다.1. JOIN ( == INNER JOIN == CROSS JOIN)  보통 a1과 b1에서 일치하는 key의 값을 가져올 때 어떻게 하냐?SELECT a.key FROM a1 a, b1 b WHERE a.key = b.key; 이렇게 하죠 간단하게? 이건 사실 INNER JOIN이 숨어있다..!SELECT a.key FROM a1 as a INNER JOIN b1 as b ON a.key = b.key; 이렇게 말이다..! 두둥 결과는 똑같다. 그럼 뭐다? ..