본문 바로가기

공부기록용

[ Java ] enum타입 Java SE 17 & JDK 17 공식문서에 enum이 Class Enum클래스인데 public abstract class EnumEnum은 추상클래스다. enum은 사용할 수 있는 값의 한정, 어떤 변수에 대입될 수 있는 값의 범위를 정할 수 있을 때, 어떤 변수에 대입될 수 있는 값이 정해져 있어서 다른 값이 들어오면 안될 때 → 경우의 수가 많을 때 아예 범위를 정해서 이 범위 안의 값만 대입될 수 있다고 알려주고 싶을 때 enum 클래스를 사용하는 것 같다. enum도 일종의 클래스, 열거형 타입 클래스라고 한다.어떤 클래스로부터 생성된 객체의 속성중 어떤 변수에 대입될 수 있는 값을 한정하고 싶을 때 enum타입 클래스를 이용한다.예를 들어 개발자라는 클래스를 작성하는데 이름, 연차, 주력언어.. 더보기
[ Java ] 객체의 직렬화(Serialization) 지금 내 운영체제(윈도우즈)에서 자바(언어로 만든) 프로그램이 동작하면서 데이터를 생성한다(→ 예를 들면 오늘의 할 일을 작성하거나 일기를 쓰거나 등의 행위를 해서 데이터가 만들어지면 이 데이터는 지금 자바 프로그램이 실행되는 동안은 존재하지만 프로그램을 껐다가 다시 실행하면 그 이전의 행위로 인해 발생된 데이터는 존재하지 않는다) 자바 프로그램을 재시작하면 그 이전에 만들어진 데이터는 존재하지 않기 때문에 처음부터 다시 데이터를 만들어야 하는 번거로움이 있다. 이런 번거로움을 방지하기 위해 자바 프로그램이 실행되는 동안 만들어진 데이터를 외부 경로에 위치하는 파일에 기록하거나 네트워크를 통해 전송해서 저장하게 되고, 다시 자바 프로그램을 실행할 때 외부 경로에 위치하는 파일에 기록된 데이터를 읽어들이거.. 더보기
[ Java ] 직렬화 개념 맛보기, I/O 클래스 Java에서 객체 직렬화(Object Serialization)객체 직렬화가 필요한 경우는 네트워크로 객체를 전송하고, 수신할 때 그리고 객체들을 데이터베이스에 저장할 때 등이 있다.프로그램을 실행하는 동안 클래스를 통해 객체가 생성되고(인스턴스) 해당 객체에는 수 많은 정보가 변수들에 저장되어 있을 것이다.그런데 프로그램을 실행하는 동안 객체가 소멸되기도 하고, 프로그램이 종료되면 사라진다. 즉 인스턴스 자체만으로는 정보를 계속 보관하는 영속성이 없다. 그래서 보관되어야할 정보라면, 파일에 기록하거나 데이터베이스 관리 시스템에 저장 등을 한다. 그리고 프로그램을 다시 시작했을 때 파일에 기록된 내용을 읽어오거나 데이터베이스 관리 시스템에 원하는 정보를 요청해서 응답 받거나 등을 통해 객체에 저장된 정보.. 더보기
[ Javascript ] truthy와 falsy, null check, Java의 Serializable 인터페이스 맛보기 Truthy와 Falsy 자바스크립트에서 truthy value는 Boolean타입으로 이루어진 식?에서 true로 간주된 value다.falsy로 정의된 것이 아니라면 모든 값은 truthy다 → falsy로 정의된: false, 0, -0, 0n, ""(빈문자열), null, undefined, NaN 등을 제외한 모든 값들은 truthy다. 자바스크립트는 boolean contexts에서(boolean타입이 반환되어야 하는? 타입 자동 변환?(타입을 강제로 바꾸는)을 사용한다. 자바스크립트에서 truthy value(boolean contexts에서 true로 평가되는, 그래서 if 블록문이 실행될 것이다)의 예시***boolean contexts라는 것은 boolean 타입의 데이터를 전달받아야 .. 더보기
논리 연산자_C# 언어 기반 C# 언어의 논리연산자를 기반으로 정리 논리연산자- 참과 거짓(논리)을 나타내는 숫자 1과 0만을 이용해서 연산을 수행하게 하는 기호? 상징?을 논리 연산자라고 한다.The logical(참과 거짓) Boolean(불 타입, 0과 1 또는 true와 false) bool타입의 피연산자를 대상으로 논리적인 연산을 수행한다.논리연산자에는 단항(unary) 논리 부정 연산자인 !, 이항 논리 연산자인 AND(&), OR(|) 그리고 exclusive OR(^) → 배타논리합(지수?) 그리고 이항 조건 논리 연산자 AND(&&) 그리고 OR(||) 이 있다. 이항 논리 연산자와(AND(&)와 OR(|)) 이항 조건 논리 연산자( AND(&&) 와 OR(||)) 차이가 헷갈림. - binary (이항 → 연산을 .. 더보기
[ Python ] 정보처리기사 파이썬 문법 정리하다가 파이썬을 다시 공부하는 중...오늘 공부한 내용 정리 ( 실습 위주 ) 자바에서 round() 함수는 무조건 실수를 정수로 반환한다. 하지만 파이썬에서 반올림 함수를 이용하면실수를 정수로 반환할뿐만 아니라 실수의 소수점 자리수를 쉽게 변환해주는 기능도 있다.파이썬에서 round() 함수를 사용할 때, 첫 번째 매개변수는 반올림할 수를,두 번째 매개변수는 반올림을 해서 소수점 몇 번째 자리까지 나타낼 것인지를, 나타낼 자리수를 작성할 수 있다. for i in range(n): 이 n수까지 반복해서 명령문을 실행한다는 것인데 이해가 잘 되지 않아 정리해보았다.--------------w3schools 싸이트 참고_Python range() FunctionCreate a sequence of numbers from 0 to 5, and print each item in the .. 더보기
[ 정보처리기사 ] 프로그래밍 언어(Python) Java에서 while() 반복문에 조건식을 작성할 때, 조건식은 true와 false 혹은 true와 false를 반환하는 조건식을 지정해야 한다.while(1) 같은 경우 자바에서는 1을 true 또는 false로 받아들이지 않기 때문에 Unresolved compilation problem 이라는 오류가 발생한다. 단, C언어에서는 while(1), while(true) 모두 사용이 가능하다. 자바에서는 while 조건식에 Boolean(True 또는 False)이 아니면 while문 실행이 불가하다. C언어인 경우#include main() { int x=1, y=6; // while의 조건식이 0이 되면 false가 되면서 반복문을 빠져나온다. // 후치감소 연산자, y를 사용.. 더보기
[ 정보처리기사 ] 프로그래밍 언어(Java) Java 프로그래밍 언어는 '객체 지향 프로그래밍 언어', C언어는 '절차적 프로그래밍 언어',재사용성이 떨어지는 C언어의 단점을 보완하여 Java는 재사용이 용이하여 유지보수하기 좋게 만들어졌다.(자바의 특징인) 객체 지향적인 경우 재사용성이 높아지고, 이로 인해 유지보수가 용이해진다. 객체 지향이란현실세계에 존재하는 실체(Entity, 개체) 및 개념들을 객체라는 독립된 단위로 구성하고,이 객체들이 메시지를 통하여 상호작용함으로써 전체 시스템이 운영되는 개념이다. 자바에서 클래스는 틀, 클래스를 통해서 객체가 만들어진다.C언어에서의 함수가 자바에서의 메서드와 동일한 기능을 한다.자바에서 클래스는(Class) 중요한 개념이다. 프로그래밍 언어인 자바는 객체간의 밀접한 협력과 결합에 용이하도록, 그런 구.. 더보기