본문 바로가기



프로그래밍

[Java] 반환값 return을 사용하는 경우와 안하는 경우 차이 return 문은 메서드를 호출하면 return문이 코드에 직접적으로 작성되어 있지 않을 경우 컴파일러가 추가하는데, 실제 구현코드는 동일하게는 작성할 수 없으므로, 기능적으로는 같은 동작이나, 처리방식이 약간 다르다. public class returnvalue { int add (int a, int b) { return a+b; } } public class returnvalue2 { int add(int a, int b) { int sum_result = a+b; return sum_result; } } 맨아래 코드는 return 문을 활용한 예시이고, 맨위의 코드는 return문 없이 바로 계산값을 return하게 한 코드이다. 실제 바이트 코드를 들여다보면 동작이 약간 다르다. 계산값을 바로 r.. 더보기
[JAVA] 자바의 변수 선언 특이성 static이 있고 없고 차이 static 으로선언된 변수는 클래스 변수라고 이해하면 쉽다. 클래스 자체는 객체지향의 기본적인 개념에서 많이 다루듯이 설계도 같은것인데, 코드상에서는 static으로 구현되는 변수가 된다. USB메모리를 생산한다고 치면, static 변수로 만들어야 하는것은 크기관련 속성이 될 수 있을것이다. 이를 코드로 구현하면 아래와 같다. static USB_memory width = 500 ; static USB_memory height = 100 ; 그리고 다른 인스턴스는 모델마다 다르게 부여되는 속성을 지정하면 된다. 여기서는 최대 쓰기속도를 모델마다 다르게 만든다고 하고, 이를 코드로 구현하면 다음과 같다. int preformance_Max_Write = 200; int designer_Max_Write.. 더보기
[JAVA] 리터럴 상수중 String의 특징(equals사용) String 문자열 리터럴의 특성 - String 리터럴 상수는 다른 상수와 달리 참조타입의 클래스에 속해있는 구조를 가지고있어서 객체를 다룰때와 같은 용법을 사용해야 합니다. 이는 기본타입의 데이터형과는 달리 직접적인 연산 비교식(==, -등)을 사용할 수 없다는 것으로 보면 됩니다. public class StringHeapNewString { public static void main(String[] args) { String a = "A"; String b = new String("A"); String c = "A" ; boolean same_Object = a.equals(b); if(same_Object) { System.out.println("a와 b객체 내용이 같습니다."); } else .. 더보기
[JAVA] 리터럴literal (상수)에 대하여 리터럴 literal은 코드내에서 직접 입력된 값을 일컫는 용어로, 각각 정수형(문자형포함), 실수형, 논리형과 문자열이 있습니다. 정수형은 흔히 말하는 정수로 세부적으로 10진수형, 0으로 시작하는 8진수형(01,-05), 0x이나 A~F로 시작하는 16진수형이 있습니다. 이 정수형은 다시 앞에서 이야기한 데이터 타입중에 정수타입에 해당하는 5개의 타입으로 분류 됩니다. 재미있는 점은 char의 경우 보기에는 문자 종류이지만 데이터 형으로는 정수타입 입니다. 실제 처리는 내부의 문자코드로 이루어 집니다. 이 텍스트처리에 관한 특이한 점은 백엔드보다는 프론트엔드에서 더 잘나타나는데, 문자가 깨질경우 유니코드로 지정해서 텍스트가 아닌 텍스트에 할당된 유니코드를 부여해서 저장하면 파일자체의 문자셋(옛날에는 .. 더보기
[MariaDB] MySQL컬럼의 추가 방법 컬럼을 추가할 테이블을 결정한다음 다음 명령어를 입력한다. alter table 테이블명 add 컬럼명 자료형 null속성(생략가능); 다음과 같은 명령어는 에러가 난다. MariaDB [study_db]> alter table '테이블명'add '컬럼명' 자료형 null속성; 더보기
[Mariadb] 마리아 DB 용 JDBC 연결 및 클래스 사용 MySQL대신 MariaDB를 사용하는 경우가 늘어나고 있습니다. 특히 JSP 톰캣 호스팅관련해서 mariaDB만 지원하는 경우가 있는데 이 때에 DB연결을 위해서 드라이버를 설치할때 기존 MySQL과는 몇가지 다른 점이 있습니다. https://downloads.mariadb.org/connector-java/+releases/ MariaDB Connector/J Releases - MariaDB MariaDB Connector/J - All Releases MariaDB Connector/J is used to connect applications developed in Java to MariaDB and MySQL databases using the standard JDBC API. The clie.. 더보기
[JAVA] JAVA기초 #1 데이터 타입 분류 자바에서는 크게 원시타입 primitive type, 참조타입 reference tyep으로 먼저 분류된다. 기본 타입은 정수(byte,char,shor,int(eger),long), 실수(float, double), 논리(boolean) 타입으로 이루어져 있으며, 참조 타입은 배열타입, 열거 타입, 클래스, 인터페이스로 이루어져 있다. 기본 타입과 참조타입의 차이점은 기본타입은 그 값을 '실제로' 변수에 저장되어 활용된다. 백문이불여일견이라고 실제로 코드를 작성해서 출력해면 확실하게 이해 될것이다. public class CallReferenceType { public static void main(String[] args) { //기본 타입중, 정수타입에 int 변수를 선언 int new_primit.. 더보기
[JAVA] FileWriter 와 OutputStreamWriter차이점 FileWriter에 UTF8형식을 사용할려고 했더니 OutputStreamWriter을 사용하여, 변형하는 방법만 있었는데, 실제로 도입해보니 차이점이 있었다. FileWriter를 사용하여 파일을 기록하면 3번 도는 for문을 사용했을시에 1번,2번,3번 내용이 고스란히 디스크의 파일에 차곡차곡 Stack으로 쌓여 있지만, BufferedWriter와 OutputStreamWriter, FileOutputStream을 조합한 경우에는 최종값만 파일에 저장되게 된다. BufferedWriter output = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename), "UTF8")); output.write(text4); outp.. 더보기