전체 글

취미가 공부
·Programming/issue
Issue : LoginForm 및 JoinForm으로 Url을 치고 들어가야 하나 404 Not Found 에러가 뜸 오늘 oauth에 관해서 테스트 및 공부를 진행하기 위해서 기존에 공부하였던 간단한 인증보안 로직을 작성하였다. 그러하여 loginForm과 JoinFom을 들어가는 메서드를 컨트롤러에 작성하여 접속을 하려고 하니 404 error가 나를 반겨주었다 분명 코드상에는 문제가 없는 듯 보였고 경로상에도 문제가 없는 듯 보였다. ResponseBody 에너테이션을 붙이니 정상적으로 접속이 되는 모습을 띄었다. 아마도 문제는 templates 의 경로상에 문제 인 것 같다. 해결 : package com.oauthtest.oauthtest.config; import org.springframe..
·daily life/travel
나는 햄버거를 무척이나 좋아한다. 그런 내가 최근 들어 인스타에서 가장 자주 봤던 가게가 How To Play Jeju라는 약간 복합 문화시설의 느낌이 나는 햄버거 가게였다! 그러하여 나는 오는 주말에 How to Play Jeju를 방문해 햄버거를 먹어 보기로 했다! ( 사실 방문은 5월 15일에 했다..) How to Play Jeju는 첫 입구에 들어서자마자 제주도의 느낌이 물씬 풍기는 야자수가 나를 반겨줬다. 건물 바로 뒤편에 애월 바다가 있어서 그런지 나에게 한껏 더 제주도에 있다는 느낌을 주었다. How to Play Jeju 입구에 들어서면서 붙여져 있는 그림이 참 마음에 들었다. How to Play jeju를 방문하면 단순히 햄버거만 먹는 것이 아닌 내부에 있는 빈티지샵도 들려 볼 수 있..
문제 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 1 .같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 2. 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 3. 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다. 예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원..
문제 KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 디지털시계가 있다. 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오. 입력 첫째 줄에는 현재 시각이 나온다. 현재 시각은 시 A (0 ≤ A ≤ 23) 와 분 B (0 ≤ B ≤ 59)가 정수로 빈칸을 사이에 두고 순서대로 주어진다..
·Programming/issue
■ 개요 오늘은 간단한 학생 성적 프로그램을 만들어 보았다. 기능은 아래와 같다. 아래에 보면 빅데시말과 라운딩 모드를 사용하기 위해 임포트를 해주었다. import javax.print.attribute.standard.NumberUp; import java.math.BigDecimal; //빅데시말 import java.math.RoundingMode; // 빅데시말 올림 컨트롤을 위한 라운딩모드 public class StudentTest2 { public static void main(String[] args) { Stud stud = new Stud("KimKunhwi",new int[] {90,93,81,85,80}); int Number = stud.getMarkNumber(); //배열의 ..
·Programming/java
■열거형 enum은 열거형(enumerated type) 즉, 서로 관련된 자료들을 번호를 매겨 관리하는 것을 뜻한다. 예를 들어 아래와 같은 것들을 열거형으로 만들 수 있다. 직업 : 기사, 궁수, 마법사, 힐러 등 한국지역 : 제주도, 경상도, 경기도 등 날씨 : 봄, 여름, 가을, 겨울 등 ■열거형의 정의 위에서 언급했 듯이 enum(열거형)은 서로 같은 개념을 가진 상수들의 집합이다. enum을 정의하는 방법은 아래와 같다. enum 열거형이름 { 상수명1, 상수명2, 상수명3} RPG게임의 직업을 예로 들어보자, RPG 게임의 직업을 열거형으로 선언하면 아래와 같다. enum RpgJob { KNIGHT, AHCHER, WIZARD, HEALER} //상수들은 대문자,소문자 모두 사용할 수 있지..
·Programming/java
■ 제네릭 "Generic"의 사전적인 의미는 "일반적인" 이라는 의미를 가지고있다. 제네릭을 클래스내부에서 사용할 데이터 타입를 외부에서 파라미터 형태로 지정하면서 데이터 타입을 일반화 해준다. 제네릭 없이 객체의 여러 자료형을 받을 수 있드록 제작하려면 int, float, double등 모든 자료형의 클래스들을 각각 만들어 주어야한다. 제네릭은 클래스 및 인터페이스를 선언할 때 안에 타입 파라미터를 넣어 작성한다. //제네릭 선언방법 public class 클래스명 { ... } public interface 인터페이스명 { ... } 자주 사용하는 매개변수의 타입은 아래 표와 같다. 선언방법이 정해진 것은 아니지만, 일반적으로 대문자 알파벳 하나로 선언해준다. 타입인자 설명 Type Element..
·Programming/Cs
■ 추상화 오늘은 객체지향 프로그래밍의 4가지 성질 중 하나에 해당하는 추상화에 대해서 서술하도록 하겠다. 여기서 우리는 "추상"의 사전적 의미를 먼저 생각해볼 필요가 있는데 추상의 사전적 의미는 "사물이나 표상을 어떠한 성질, 공통성, 본질에 착안하여 그것을 파악하는 것" 이라는 사전적 의미를 가지고 있다. 여기서 핵심적인 개념은 공통성과 본질을 추출하는 것 이다. 같은 맥락에서, 자바에서의 추상화는 객체의 공통적인 성질 또는 기능을 추출하여 정의하는 것을 의미한다. OOP(Object Oriented Programming) 의 개념 중 하나인 상속이 하위클래스를 정의하기 위해 상위클래스를 사용하는 것 이라고 한다면, 반대로 추상화는 하위클래스들의 공통적인 요소들을 추출해 상위클래스를 만드는 것 이라고..
·Programming/Cs
■ 다형성 객체지향 프로그래밍의 기둥이자 객체지향 프로그래밍에서 가장 중요하다 할 수 있느 다형성에 대해서 알아보자. 다형성이란 하나의 객체가 여러가지 형태를 가질 수 있는 것을 의미한다. 다형성은 영어에서 "여러 개"를 의미하는 poly 와 "어떤 형태 또는 실체" 를 이야기 하는 morphism 의 합성어로 "여러가지 형태" 라는 의미를 담고있다. 자바에서의 다형성은 한 타입의 참조변수로 여러 타입의 객체를 참조 할 수 있도록 만드는 것을 의미한다. 좀 더 구체적으로 이야기 하자면 상속과 비슷하게 상위클래스에 속성을 하위 클래스에서 참조하는 것을 허용하는 것이다. 한가지 유의할 점은, 참조 변수가 사용할 수 있는 맴버의 개수는 실제 객체의 멤버의 개수보다 같거나 적어야 한다는 점이다. 앞선 상속파트에..
·Programming/Cs
■ this() 클래스 안에서 메서드들끼리 상호 호출이 가능하듯이 생성자도 상호 호출이 가능하다. 이를 가능하게 해주는 것이 바로 this() 메서드이다. 한마디로 this() 메서드는 클래스 내에서 생성자를 호출할 때 사용 가능한 메서드라는 것이다. 예를 들어 people 클래스에 people 생성자를 호출하는 것은 people()이 아닌 this() 메서드 인데 이는 people()을 호출하는 것과 동일한 결과를 지니고 있다. this() 메서드를 사용하기 위해서 반드시 지켜야할 2가지의 기본 요소들이 있다. 첫 번째는 this() 반드시 생성자 내에서만 사용되어야 한다, 두 번째는 this() 메서드는 반드시 생성자의 첫 줄에 위치하여야 한다. public class peopleTest { publ..
·Programming/java
■필드 필드는 "클래스에 포함된 변수"를 의미하는 것으로 객체의 속성을 정의할 때 사용된다. 자바에서 변수는 크게 세 가지 Class 변수(cv, Class variable), 지역 변수(lv, local variable), 인스턴스 변수(iv, instance variable)로 구분할 수 있다. 이 중 우리가 필드라 부르는 것은 클래스 변수와 인스턴스 변수인데 이는 static 의 유무로 차이를 확인할 수 있다. 좀 더 구체적으로, static 변수와 함께 선언된 변수는 클래스 변수 그렇지 않은 변수는 인스턴스 변수이다. 그리고 이 두 가지 변수 유형에 포함되지 않고 메 서드 내에서 선언된 변수를 지역변수라고 한다. 이 세가지 유형의 변수들은 주로 선언된 위치에 따라 그 종류가 결정되며 각각 다른 유..
·Programming/Cs
■클래스 앞서 우리는 객체에 대하여 "실재하는 모든 것" 또는 "사용할 수 있는 실체"라고 정의하였다. 클래스(Class)는 이러한 객체를 "정의된 클래스 (BluePrint)" 또는 "틀 (flame) "이라고 정의할 수 있다. 즉, 클래스는 객체를 생성하는 데 사용되며 생성된 객체는 클래스 안에서 설계한 그대로 생성된다. 클래스와 객체는 떼려야 뗄 수 없는 관계인 것이다. 여기서 꼭 짚고 넘어가야 할 부분 있다. 클래스는 단지 객체를 생성하는 하나의 틀이라는 것이다. 즉, 클래스는 객체 그 자체가 될 수 없다. 클래스와 객체는 제품의 설계도와 제품으로 비유할 수 있다. 우리의 실생활을 예로 들자면 자동차의 설계도가 자동차 그 자체일 수 없듯 클래스도 객체 그 자체가 될 수 없다는 말이 된다. 위 그림..
김제주
Kimjeju Develog