Language/Java 13

자바 클래스의 이해와 객체지향 프로그래밍 강의노트3

인프런에서 자바: 클래스의 이해와 객체지향 프로그래밍을 수강하며 적은 강의노트입니다.강의내의 예시와 자세한내용은 강의를 통해 확인하실 수 있습니다. 14. 은닉화객체의 변수를 public으로 설정하였을 경우, 외부에서 마음대로 그 변수를 사용할 수 있음의도하지 않은 범위의 값을 넣을 수 있다.원하지 않는 데이터타입을 강제적으로 형변환하여 넣을 수도 있다.Getter ,Setterxxxxxxxxxxclass Box { private int num; public int getNum() { return num; } public void setNum(int num) { this.num = num; }} 15. 객체 확인클래스와 오브젝트의 응용instanceof는 오브젝트가 지정한 클래스의 오브젝트인지를 조사하기..

Language/Java 2019.10.26

자바 클래스의 이해와 객체지향 프로그래밍 강의노트2

인프런에서 자바: 클래스의 이해와 객체지향 프로그래밍을 수강하며 적은 강의노트입니다.강의내의 예시와 자세한내용은 강의를 통해 확인하실 수 있습니다. 07. 상속상속의 정의상위클래스의 모든 것이 하위클래스에게 전달되는 것(상위 클래스의 멤버변수, 멤버함수 중, private로 접근제한이 된 경우에는 하위 클래스로 전달되지 않음)상속의 장점클래스 간의 체계화된 전체 계층 구조를 파악하기 쉽다.재사용성 증대: 기존 클래스에 있는 것을 재사용할 수 있다.확장 용이: 새로운 클래스, 데이터, 메서드를 추가하기가 쉽다.유지보수 용이: 데이터와 메서드를 변경할 때 상위에 있는 것만 수정하여 전체적으로 일관성을 유지할 수 있다.상속의 구현extends를 사용자바에서 여러 개의 클래스를 동시에 상속하는 다중 상속은 허용..

Language/Java 2019.10.26

자바 클래스의 이해와 객체지향 프로그래밍 강의노트1

인프런에서 자바: 클래스의 이해와 객체지향 프로그래밍을 수강하며 적은 강의노트입니다.강의내의 예시와 자세한내용은 강의를 통해 확인하실 수 있습니다. 01. 클래스의 개념객체의 정의개념적인 객체: 눈에 보이고 만져짐ex. 동물, 자동차물리적인 객체: 눈에 보이지않고 만져지지 않음 개념적ex. 개, 고양이, K5클래스객체와 관련된 데이터와 처리동작을 한곳에 모은 것클래스를 기술하는 것을 클래스를 정의한다라고 함객체와 클래스클래스는 객체의 설계도와 같은 것으로 그 자체로는 이용할 수가 없습니다.이용하기 위해서는 설계도를 기초로 실체를 만들어야 합니다.클래스가 실체화된 것을 오브젝트(객체)라고 하며, 실체화 하는 작업을 '오브젝트를 생성한다' 혹은 '인스턴스화 한다'등으로 말합니다...

Language/Java 2019.10.20

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 형변환(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