반응형

간단 지식 65

05. main 메소드의 매개값 - String[] args

public class Test{ public static void main(String[] args){ System.out.println("hello"); } } 메소드는 매개값을 이용할 수 있다. 이는 main 메소드도 매개값을 가질 수 있다는 의미이다. 위 코드를 보면 main의 매개값이 String[] args임을 알 수 있다. 즉, 이름이 args이고 타입이 String인 일차원 배열이 매개값이 된다는 것을 이해할 수 있어야한다. 왜 main 메소드에 매개값이 필요할까? 자바 클래스로 프로그램을 실행하면 JVM이 구동된다는 것을 우리는 안다. JVM이 하는 일 중 길이가 0인 String 타입의 배열을 생성하는 일이 있다. 그리고 생성된 그 배열을 main의 매개값으로 전달해준다. 그러나 위 코..

간단 지식/Java 2020.05.26

04. 참조타입변수 - String, 배열, 열거

String 자바에서 문자열은 변수 String에 저장한다. 특이점이 있다면 String은 다른 참조타입변수들과는 달리 저장된 문자열이 같으면 객체를 공유하게 되어 같은 객체를 참조하게 한다. 따라서 아래 코드를 실행시켜보면 "같은 객체 참조" 라는 출력문이 나올 것이다. String name1 = "KSH"; String name2 = "KSH"; if(name1 == name2){ system.out.println("같은 객체 참조"); }else{ system.out.println("다른 객체 참조"); } 만일 같은 문자열이더라도 다른 객체를 참조하게 하고싶다면 객체 생성 연산자인 new를 사용하면 된다. String name1 = new String("KSH"); String name2 = ne..

간단 지식/Java 2020.05.10

03. Java의 메모리 영역 간단정리

자바에서 메모리를 관장하는 것은 JVM(Java Virtual Machine)이다. JVM은 파일.exe가 실행이 되면 OS가 할당해준 메모리를 3개의 영역으로 구분해서 사용할 수 있게 해준다. method영역, heap영역, stack영역 이 3가지에 대해 알면 객체지향 언어인 자바를 이해하기 쉬울 것이다. method 영역 한 프로그램을 이루는 코드에 있는 각 class별로 runtime constant pool, field & method data, method code, constructor code 를 분류한다. heap 영역 객체와 배열이 생성되는 영역 생성된 객체나 배열을 참조하는 변수 혹은 필드가 없으면 쓰레기가 된다. -> JVM이 garbage collector를 실행시켜 제거 JVM ..

간단 지식/Java 2020.05.10

02. 기본 타입 변수와 참조 타입 변수

데이터 타입은 기본타입변수와 참조타입변수로 구분된다. 기본타입변수는 흔히 사용하는 int, char, double 등을 말하며 정수, 실수, 논리 타입으로 구성된다. 참조타입변수는 객체지향인 자바에서 볼 수 있는 특징으로 배열타입, 열거타입, 클래스, 인터페이스로 구성된다. 이 둘의 차이점은 무엇을 값으로 갖는지이다. 기본타입변수는 말 그대로 값을 저장하며, 참조타입변수는 메모리 번지(주소)를 값으로 갖는다. 자바에서 생성되는 메모리에는 일단 stack영역과 heap영역이 존재한다는 것을 알아두자. 변수가 선언되면 해당 변수는 stack영역에, 객체는 heap 영역에 생성된다. 예를 들어 int age = 23; String name = "KSH"; int[] num = {1, 2, 3}; 이란 코드가 ..

간단 지식/Java 2020.05.08

01. HTML 초간단 정리

HTML(HyperText Markup Language)은 일반화된 마크업 언어로 웹 페이지, 웹 앱을 생성하는데 사용하는 언어다. web을 알기 위해 가장 먼저 배워야 할 기본적인 언어라고 보면 된다. 이 글에는 별다른 말, 설명 없이 간단한 개념만 정리했다. 위 코드는 가장 기본으로, 아무것도 없는 흰 웹페이지를 만들어준다. 로 묶인 것들을 tag라고 부른다. Tag 간단 정리 : 가장 큰 제목(h6까지 있으며 숫자가 커질수록 작아진다) : 강조 : 밑줄 : 줄바꿈 : 줄바꿈 : 리스트 & 정렬번호 부착 : 리스트 : 목차 : 웹페이지 탭 명 지정 : 본문 : 본문 설명 : body, head 태그를 감싸는 태그 : 웹페이지가 HTML로 작성됨을 알림 유용한 단축키(atom) ctrl + m : 해당..

간단 지식/web 2020.05.05

01. 자동타입변환과 강제타입변환

데이터 타입을 크기 순으로 나열해보면 다음과 같다. byte(1) < short(2) byte, short, int, long : 소수점 아래 값은 누락 3) 예외사항 자동타입변환에서 다른 타입을 char형으로 변환하는 것은 컴파일 에러가 발생한다. char의 범위는 0부터 시작되기 때문에 음수가 저장될 수 있는 타입인 byte, short, int, long, float, double은 캐스팅 후 char형으로 변환할 수 있다. 4-1) 주의사항1 아무래도 개발자가 직접 지정해야 하는 강제타입변환에는 주의해야 하는 점이 있다. 그건 바로 위에서도 언급한 손실이 발생하지 않도록 검사하는 것이 중요하다. 가장 기본적인 검사방법은 if문을 이용한 방법이다. 대략적인 구조는 다음과 같다. if (i최댓값상수)..

간단 지식/Java 2020.05.01

08. SQL을 이용한 데이터 조작 - insert, delete, update, search

지난 글에서 DB 서버에 DB를 생성하고 3가지 table을 생성했다. 이제 우리는 데이터 조작을 할 건데 insert, delete, update, search 중 가장 먼저 해야하는 것은 insert이다. 왜냐하면 table이 생성되긴 했지만 그 안에는 텅 비어있기 때문에 delete, update, search는 할 수 없다. university라는 이름의 DB에 있는 student table에 데이터를 insert해보겠다. insert into student(sno, sname, year, dept) values (100, '소현', 4, '컴퓨터공학과'), (200, '뫄뫄', 1, '영어영문학과'), (300, '묘묘', 3, '기계공학과'), (400, '띠띠', 3, '부동산학과'), (5..

07. SQL과 MySQL

SQL과 MySQL은 같은 개념일까 다른 개념일까? 다르다고는 알고 있지만 정확히 설명할 수 있어야 안다고 할 수 있다. SQL은 구조화 질의어로, DDL, DML, DCL의 기능인 질의어, 조작어, 제어어 기능을 모두 제공한다. SQL이 많은 사람들에게 사랑받는 이유는 사용자에게 친화적인 인터페이스 덕분이라고 생각한다. 이러한 인터페이스는 SQL이 고급에다가 비절차적 언어라는 점에서 비롯되었다. 그리고 관계형 데이터베이스를 관리하기 위해 오라클에서 지원하는 시스템이 바로 MySQL이다. 즉 SQL은 언어, MySQL은 시스템이다. SQL에서는 여태까지 불렀던 relation, tuple, attribute과 같은 관계 모델의 용어 대신 일반 용어를 사용한다. relation -> table tuple ..

06. 관계대수의 확장(세미 join, 외부 join, 외부합집합)과 집계연산

관계대수는 join과 합집합에 대해 확장이 가능한데 tistory에서는 관련 기호를 제공하지 않아 이미지로 대체하겠다. 역시 이론보단 실전이니 각 연산에 대한 예시를 하나씩 들어보겠다. 세미 join에 대한 예제다. relation R relation S A B C 구분칸 B C D a1 b1 c1 b1 c1 d1 a2 b1 c1 b1 c1 d2 a3 b1 c2 b2 c3 d3 a4 b2 c3 relation R과 S를 세미 join 하기 위해 먼저 relation S에 대해서 R과 S에 모두 속한 부분만 뽑아 새로운 relation을 만든다. 두 relation에 모두 속할 수 있는 값들은 무조건 attribute B,C에 해당하니까 열을 2개로 추리고 시작하면 된다. B C b1 c1 b2 c3 새롭..