Java 29

[Java] Random값 생성

기본적으로 랜덤값 생성은 Seed를 통해 생성됩니다. Seed란? 랜덤값 생성을 위한 계산식이 존재하는데, 해당 계산 식에 입력을 주어 랜덤 값을 생성합니다. 여기서 입력값을 Seedㅎ라고 합니다. Seed의 디폴트 값은 시스템의 현재 시간입니다. 동일한 Seed값을 주면 동일한 랜덤값이 나옵니다. Seed를 개발자가 직접 지정할 수도 있습니다. Random값을 생성하는데에는 2가지 방법이 있습니다. 🎈 Random 클래스 java.util 패키지 안에 있음 - import java.util.Random 해야 자바 라이브러리 임포트 가능합니다. Seed 설정 가능합니다. 함수 boolean nextBoolean() - boolean형 난수 반환 int nextInt() - int형 난수 반환 int ne..

Java 2022.09.22

[Java] this

지금까지 this를 사용해왔습니다. 그런데 this는 참조값을 반환하는 것 외에도 다양한 곳에 사용됩니다. 인스턴스 자신의 메모리를 가리킴 생성자에서 또 다른 생성자를 호출 할때 사용 자신의 주소(참조값)을 반환 함 생성된 인스턴스 메모리의 주소를 가짐 클래스 내에서 참조변수가 가지는 주소 값과 동일한 주소 값을 가지는 키워드 입니다. public void setYear(int year) { this.year = year; } 생성자에서 다른 생성자를 호출 클래스에 생성자가 여러 개 인경우, this를 이용하여 생성자에서 다른 생성자를 호출할 수 있음 생성자에서 다른 생성자를 호출하는 경우, 인스턴스의 생성이 완전하지 않은 상태이므로 this() statement 이전에 다른 statement를 쓸 수 ..

Java 2022.09.21

[Java] 접근 제어 지시자 / 정보 은닉

접근제어 지시자 클래스 외부에서 클래스의 멤버 변수, 메서드, 생성자를 사용할 수 있는지 여부를 지정하는 키워드 입니다. private : 같은 클래스 내부에서만 접근 가능 ( 외부 클래스, 상속 관계의 클래스에서도 접근 불가) 아무것도 없음 (default) : 같은 패키지 내부에서만 접근 가능 ( 상속 관계라도 패키지가 다르면 접근 불가) protected : 같은 패키지나 상속관계의 클래스에서 접근 가능하고 그 외 외부에서는 접근 할 수 없음 public : 클래스의 외부 어디서나 접근 할 수 있음 private으로 선언된 멤버 변수에 접근하는 방법이 있습니다. get()/ set() 메서드 private 으로 선언된 멤버 변수 (필드)에 대해 접근, 수정할 수 있는 메서드를 public으로 제공 ..

Java 2022.09.21

[Java] 참조 자료형 변수

참조 자료형 변수의 자료형은 2가지로 나뉩니다. 참조자료형은 클래스 형으로 변언을 합니다. 기본 자료형은 사용하는 메모리의 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다름니다. 참조 자료형을 사용 할때는 해당 변수에 대해 생성하여야 합니다. (String 클래스는 예외적으로 생성하지 않고 사용할 수 있음) 참조 자료형 정의하여 사용하기 학생이 수강한 과목들에 대한 성적을 산출하기 위한 경우 학생 클래스 속성에 과목이 모두 있으면 불합리 학생(Student)과 과목(Subject)에 대한 클래스를 분리하여 사용하고 Subject 클래스를 활용하여 수강한 과목들의 변수의 타입으로 선언 학생.java package ch09; public class Student { int studentId; Stri..

Java 2022.09.21

[Java] 객체 구현

객체 의사나 행위가 미치는 대상 ( 사전적 의미 ) 구체적, 추상적 데이터의 단위 ( 학생, 회원, 생산, 주문, 배송 ) 학생도 객체이고, 회원도 객체이고, 생산, 주문, 배송도 객체라고 할 수 있습니다. 객체지향 프로그래밍과 절차 지향 프로그래밍의 비교 - 절차지향 프로그래밍이란 시간이나 사건의 흐름에 따른 프로그래밍입니다. 일어난다 -> 씻는다 -> 밥을 먹는다 -> 버스를 탄다-> 요금을 지불한다 -> 학교에 도착 - 객체 지향 프로그래밍 객체 지향 프로그래밍은 객체를 정의하고, 각 객제에서 제공하는 기능들을 구현하고, 각 객체가 제공하는 기능들간의 소통을 통하여 객체 간의 협력을 구현합니다. 생활속의 객체를 클래스로 구현하며 개념을 잘 이해해보겠습니다. 클래스 클래스는 객체의 청사진(bluepr..

Java 2022.09.21

[Java] 제어문

제어문에는 조건문과 반복문이 있습니다. 조건문 조건문 이란? 주어진 조건에 따라 다른 실행이 이루어 지도록 구현하는 것입니다. '나이가 8살 이상이면 학교를 간다 그렇지 않으면 가지 않는다' 를 구현 한다면 만약에 (나이가 8살 이상이면){ 학교를 간다. } 그렇지 않으면 { 학교를 가지 않는다. } IF 문 숫자의 유효범위를 확인하는 용도로 웹개발에서 많이 사용됩니다. 예시 // 영문자 (대문자와 소문자 존재)를 입력받을 경우 char alpha = sc.next().charAt(0); if (!(alpha >= 'a' && alpha = 'A' && alpha = 'a' && alpha if 대신에 XOR이나 비트 연산자를 쓰면 됩니다. if 문 문법 if(조건식){ 수행문; // 조건식이 '참'인 ..

Java 2022.09.20

[Java] 자바의 연산자들

피연산자는 숫자, 연산자는 부호입니다. 연산자들이 많이 있는데 간단히 종류들을 정리해 보고자 합니다. 항과 연산자 항(operand) : 연산에 사용되는 값 연산자 (operator) : 항을 이용하여 연산하는 기호 대입 연산자 (assignment operator) 변수에 다른 변수나 값을 대입하는 연산자 이항 연산자 중 우선 순위가 가장 낮은 연산자들 왼쪽 변수 = 오른쪽 변수(또는 식, 값) 부호 연산자 단항 연산자 변수의 부호를 유지 하거나(+) 바꿈(-) 실제 변수의 부호가 변하려면 대입 연산자를 사용해야 함 산술 연산자 사칙 연산자 % 나머지 구하는 연산자, 숫자 n 의 나머지 범위는 0 ~ n-1 입니다. 정수와 정수를 나누면 연산결과고 정수입니다. 하나를 실수로 바꿔야 결과도 실수가 나옵니..

Java 2022.09.19

[Java] 자바프로그래밍이란

전에 학교에서 자바강의를 들은 적이 있습니다. 그러나 기억이 잘 안나는 부분도 많고, 심화된 내용은 배우지 않아서 다시 자바 프로그래밍 공부를 시작하고자 합니다. 먼저 프로그래밍이란 무엇을 의미할까요? 자바 프로그래밍의 정의 프로그래밍이란? 프로그래밍: 컴퓨터가 일을 수행 하도록 프로그래밍 언어로 명령어 집합(프로그램)을 만드는 일 컴파일 : 프로그래밍 언어를 컴퓨터가 실행 가는한 기계어로 만드는 일 컴파일러 : 기계어로 바꾸어 주는 프로그램 ( ex. 자바 컴파일러, gcc ) 자바 프로그래밍의 특징 플랫폼에 영향을 받지 않으므로 다양한 환경에서 사용할 수 있다. 객체 지향 언어이기 때문에 유지보수가 쉽고 확장성이 좋다. 프로그램이 안정적이다. 풍부한 기능이 제공되는 오픈 소스이다. 자바 프로그래밍의 ..

Java 2022.09.19

[Java] 자료형과 변수

컴퓨터에서 자료 표현하기 우리가 평소에 사용하는 것은 10진수입니다. 그러나 컴퓨터는 2진수를 사용합니다. 2진수 0과 1로만 데이터를 저장함 bit(1비트) : 컴퓨터가 표현하는 데이터의 최소 단위로 2진수 하나의 값을 저장할 수 있는 메모리의 크기 byte(바이트) : 1byte = 8bit 2진수, 8진수, 10진수, 16진수 비트로 나타낼 수 있는 수의 범위 한 개의 비트로 나타낼 수 있는 수 : 0. 1 (2개) - 0~(2^1-1)까지 표현 가능 두 개의 비트로 나타낼 수 있는 수 : 00, 01, 10, 11 (4개) - 0~(2^2-1) 세 개의 비트로 나타낼 수 있는 수 : 000, 001, 010, 011, 100, 101, 110, 111 (8개) - 0~(2^3-1) 직접 실습해보기..

Java 2022.09.19