Language 32

Java while문 그리고 do, continue, break

for문을 사용하는 사람이라면 굳이 while문을 사용할 필요가 없다. (대학교졸업까지 코드를 짤 때, 단 한번도 while을 사용해보지 않았었다.) 하지만 while 문이 for문보다 코드를 간결하게 해주는 경우가 있다. (ex. 초기화가 필요하지 않은 경우, 증감식이 필요하지 않은 경우) 이는 아래의 for vs while에서 다뤄보고자 한다. while문 while(조건식) { // 조건식의 결과가 true인 경우, 반복될 문장을 적는다. } while문은 우선 조건식이 true인지 false인지 판별한 후에 조건식이 true라면 {}내의 문장을 이행하고, 다시 조건식을 판별한다. false일 경우에는 루프 밖으로(문장 밖으로) 벗어난다. for vs while for문과 while문은 항상 서로 ..

Language/Java 2019.06.08

객체지향 프로그래밍

**Java, C++**등 객체지향 언어들을 사용하여 프로그래밍을 하면서 부끄럽게도 객체지향이 무엇인지에 대해 생각해본적이 없었다. 객체지향의 기본 구성 요소와 특징, 객체지향 개발 5원칙을 바탕으로 이해해보려 한다. 기본 구성 요소 클래스 객체지향 프로그램의 기본적인 사용자 정의 데이터형으로 클래스는 연관되어있는 변수와 메소드의 집합이다. 객체 클래스가 실제 메모리상에 할당된 것(인스턴스)이다. 객체는 자신의 고유 속성을 가지며 클래스에서 정의한 행위를 할 수 있다. 메소드&메시지 메소드는 한 객체에서 객체의 속성을 조작하는데 사용된다. 메시지는 객체간의 통신을 가능하게하는 도구이다. 특징 추상화 객체들의 공통적인 속성이나 행동을 추출하는 것을 추상화라고 한다. 객체지향 프로그래밍은 객체의 구체적인 개..

Language/Java 2019.05.24

자바스크립트의 프로토타입

자바스크립트는 프로토타입에 기반한 언어입니다. 프로토타입 기반 프로그래밍에서는 Java의 Class처럼 프로토타입을 사용합니다. 하지만 Java에서 Class를 기반으로 인스턴스를 생성하여 객체를 사용하는 것과 다르게 JS에서는 프로토타입을 토대로 클로닝(Clonning)과 객체특성을 확장해나가는 방식으로 새로운 객체를 생성하여 사용합니다. 자바스크립트의 프로토타입은 크게 Prototype Object과 Prototype Link로 나뉩니다. Project Object function hello() {} var helloObject = new hello(); 자바스크립트에서 객체는 함수로 생성합니다. helloObject는 hello라는 함수로 생성한 객체입니다. 우선 함수가 정의될 때, 일어나는 일을 ..

Language/JavaScript 2019.05.24

Java 형변환(Casting)이란

형변환(Casting)이란? 변수나 리터럴 타입을 다른 타입으로 변환하는 것을 '형변환(Casting)'이라 한다. 주로 타입이 다른 값들을 계산하는 경우 사용된다. 타입이 다른 값들은 같은 타입으로 변환한 다음에 계산하여야 한다. 형변환 방법 (타입)피연산자와 같은 형식으로 바꾸어준다. dobule height = 188.2; int hello = (int)height; // hello = 188 // height = 188.2 기본형(primitive type)에서 boolean을 제외한 나머지 모든 타입들은 서로 형변환이 가능하다. 정수형 간의 형변환 int(4 byte)를 byte(1 byte)로 변환하는 경우 값의 손실(loss of data)이 발생한다. 반대로 작은 타입에서 큰..

Language/Java 2019.03.19

Java 변수 기본형과 참조형

기본형(primitive type) 변수 boolean, char, byte, short, int, long, float, double 실제 연산에 사용되는 것은 모두 기본형 변수입니다. 참조형(reference type) 변수 기본형 8가지를 제외한 나머지 타입 참조형 변수를 선언할 때는 변수의 타입으로 클래스의 이름을 사용하므로 클래스의 이름이 참조형 변수의 타입이 됩니다. 따라서 새로운 클래스를 작성하는 것은 새로운 참조형 변수를 추가한다고 봐도 무방합니다. Date today = new Date(); Date 클래스 타입의 참조형 변수 today를 선언한 것입니다. 참조형 변수는 null 또는 주소를 값으로 갖습니다. 연산자 new의 결과는 생성된 객체의 주소이다. 이 주소가 대입연산자 =에 의해..

Language/Java 2019.03.17

Java serialVersionUID 사용이유

Serialize(직렬화)? 자바 시스템 내부에서 사용되는 Object나 Data를 외부의 자바 시스템에서도 사용할 수 있도록 byte 형태로 데이터를 변환하는 기술로 JVM(Java Virtual Machine)의 메모리에 항상 있는 객체 데이터를 byte 형태로 변환한다. Java에서는 java.io.Serializeable 인터페이스를 상속하여 사용합니다. Serializable을 상속한 Hello class public class Hello implements Serializable { private String sound = ""; public SingSong(String sound) { this.sound = sound; } } main() public static void main(Strin..

Language/Java 2019.03.09

Java String... 은 무엇인가?

Java 소스를 분석하다 void method(String... args) 형태를 가지고 있는 메소드를 발견하였다. String... 이라는 데이터타입이 어떻게 사용되는지 테스트코드를 통해 알아보려 한다. String... 테스트 코드 Spring의 Controller 에서 테스트를 진행하였으며 결과는 console 창에서 확인하였다. package com.boot; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller publi..

Language/Java 2019.03.08

Java UUID 사용하기

Java5 부터 UUID(Universally Unique IDentifier)를 생성하는 것이 가능합니다. UUID? 네트워크 상에서 서로 모르는 개체들을 식별하고 구별하기 위해서는 각각의 고유한 이름이 필요한데, 이를 관리하기 위해서 중앙관리시스템이 있으면 좋지만, 독립적으로 개발되고 있는 시스템들의 경우 중앙관리시스템은 불가능하다. 개발주체가 스스로 이름을 짓도록 하되 고유성을 충족시킬 수 있는 방법으로 UUID를 사용한다. UUID 구성 UUID는 16옥텟(128비트)의 수로 표준형식에서는 32개의 십육진수로 표현되며 총 36개의 문자(32개 문자와 4개의 하이픈)로 된 8-4-4-4-12라는 5개의 그룹으로 이루어져있습니다. Java UUID to String UUID를 생성하고 이를 스트링으로..

Language/Java 2019.03.07

Java 오버로딩, 오버라이딩

자바의 특징으로 다형성이 있습니다. 다형성은 객체를 다향한 형태로 사용하고 관리할 수 있는 자바의 대표적인 특징입니다. OverLoading (오버로딩) 자바에서는 입력항목(매개변수)이 다른 경우 동일한 이름의 메소드를 만들 수 있는데, 이를 메소드 오버로딩이라고 합니다. 하나의 객체에서 이름이 같은 메소드를 여러개 정의하여 사용할 수 있습니다. class HelloJava { public void hello() { System.out.println("hello()"); } public void hello(int i) { System.out.println("hello(int i)"); } public void hello(String str) { System.out.println("hello(String ..

Language/Java 2019.03.01

try-catch-finally의 기본형태와 return

Java에서 프로그램 실행중 발생하는 예외처리를 하기 위해 try-catch-finally 문을 제공합니다. try-catch-finally 의 기분형태와 return은 어떻게 사용해야할지 알아봅시다. try-catch-finally 기본형태 try { // 예외 발생 가능성이 있는 코드 } catch (예외타입1 매개변수명) { // 예외타입1의 예외가 발생할 경우 처리 코드 } catch (예외타입2 매개변수명) { // 예외타입2의 예외가 발생할 경우 처리 코드 } finally { // 항상 수행해야 하는 코드 } try-catch-finally with return 1. try안의 return문 try { return 5; } catch (Exception e) { return 10; } fin..

Language/Java 2019.02.28