본문 바로가기

Java

(20)
클래스와 생성자 1. 클래스 (1) 클래스 - 사용자 정의 타입이다(자료형) - 연관성 있는 저장공간과 기능을 한 곳에 모아 편하게 관리할 수 있는 것 - 객체를 생성하기 위한 틀, 설계도면 공통되는 속성(변수)과 행위(메소드)를 한 번만 선언해놓고 가져다 사용만 할도록 설계한다 추상적인 것(클래스)을 구체화 시키면(메모리에 생성된 것) 객체라고 한다 클래스는 추상적이다 객체는 구체적이다 => 하나의 추상적인 클래스를 만들면 여러개의 구체적인 객체를 만들 수 있다 (2) 객체(Object)와 인스턴스(Instance) 객체 : 실제 사물 또는 개념 클래스 : 객체를 컴퓨터에 옮기기 위해 추상화 한 것, 실제 존재하는 공간이 아니며 추상적이다 인스턴스 : 클래스를 메모리에 할당시킨 것이며 물리적으로 존재하는 공간, 구체적..
오버로딩과 클래스 1. 메소드 (1) 메소드와 메모리 메소드는 실행되면 메모리의 Stack영역에 메소드 실행에 필요한 저장공간이 생성된다 메소드 내부에서 선언한 변수(지역변수, 매개변수)들의 저장공간이 생성된다 메소드의 코드가 모두 실행되어 종료되면 stack여역에서 해당 메소드의 저장공간이 삭제된다(메모리 해제) 지역변수의 저장공간이 사라지므로 지역변수는 사용이 불가능하다 (2) 메소드의 매개변수와 인수 매개변수(parameter) : 외부에서 전달받아 값을 저장하고 메소드 내에서 사용할 변수 인수(argument) : 메소드를 사용할 때 메소드의 매개변수로 전달될 값(실제 값) - 메소드의 인수와 매개변수는 반드시 타입이 일치하거나 자동형변환이 가능한 타입이어야 한다 - return 되는 값은 반드시 return 타입..
배열과 메소드 1. 배열 (1) 배열의 선언 자료형[] 배열명 = new 자료형[배열크기]; 자료형[] 배열명 = {값1, 값2, 값3, 값4}; 자료형[] 배열명 = new 자료형[]{값1, 값2, 값3, .. } 자료형[] 배열명 = null; (2) 배열의 사용 배열명[index] 저장공간으로 쓰일 때는 배열명[index] 뒤에 =(대입연산자)가 온다 값으로 쓰일 때는 배열명[index]로만 사용한다 (3) 배열과 for문 배열선언 for(int i = 0; i
이중 for문과 배열 1. 이중반복문(이중 for문) for문 안에 for문이 있는 것을 의미 for(초기식;조건식;증감식){ for(초기식;조건식;증감식){ } } 2. 배열(Array) 저장공간의 나열 (1) 배열을 사용하는 이유 - 변수를 여러개 선언하면 이름도 여러개 생긴다 -> 각 저장공간을 관리하기가 불편하다 - 규칙성이 없는 값에 규칙성을 부여하기 위해서(index) 변수 : [] 하나의 타입으로 된 하나의 값만을 저장할 수 있는 저장공간 배열 : [][][][] 하나의 타입으로 된 여러개의 값을 저장할 수 있는 저장공간의 나열 배열명[index] (2) 배열의 선언 - 배열 변수를 선언 후 배열 생성(어떤 값을 넣을지는 모르지만 몇 칸 만들지는 알 때 사용) 자료형[] 배열명 = new 자료형[칸 수]; - 배..
제어문과 반복문 1. 제어문 (1) switch문 switch (변수명){ case 값1: 실행할문장; break; case 값2: 실행할문장; break; case 값3: 실행할문장; break; default: 실행할문장; break; } (2) 삼항연산자, if문, switch문의 비교 1) 삼항연산자 : 조건이 1개 있을 경우 사용 2) if문 : 조건식에 비교연산자를 사용하거나 여러개의 조건식을 논리연산자로 연결할 때 사용 3) switch문 : 하나의 변수에 여러개의 값이 담길 수 있고, case의 값과 같은지를 비교할 때 사용 2. 반복문 주어진 조건이 참인동안 반복해서 수행할 때 사용 (1) for 주로 반복횟수가 정해진 경우에 사용 for(초기식;조건식;증감식){ 반복실행할 문장; } 1) 초기식 : 처..
비트연산자, 암호화, 복호화 와 제어문 1. 비트연산자 (1) 비트(bit) 정보량의 최소단위 1bit 표현할 수 있는 수 0,1 1bit로는 정보를 알기 힘드니 1byte = 8bit를 정보의 기본 단위로 사용하는 것 장점 : 사람의 언어를 컴퓨터의 언어로 바꾸는 과정을 생략하기 때문에 속도가 빠름 (2)비트논리연산자 1) 논리곱 &(AND) 두 비트가 모두 1이면 1 연산식 결과 1 & 1 1 1 & 0 0 0 & 1 0 0 & 0 0 2) 논리합 | (OR) 두 비트 중 하나라도 1이면 1 연산식 결과 1 | 1 1 1 | 0 1 0 | 1 1 0 | 0 0 3) 배타논리합 ^(XOR) 두 비트가 서로다르면 1 연산식 결과 1 ^ 1 0 1 ^ 0 1 0 ^ 1 1 0 ^ 0 0 4) 논리부정연산자 ~(NOT) 0을 1로, 1을 0 부호..
입력 메소드와 연산자 1. 입력메소드 Scanner sc = new Scanner(System.in); String name = sc.next(); (1) .next() : 입력 받은 값을 String 타입으로 반환한다 입력한 값을 띄었쓰기, 엔터로 구분하고 분리한다 임시 저장공간에서 엔터를 소모한지 않는다 (2) .nextLine() : 입력받은 값을 String 타입으로 반환한다 띄어쓰기를 포함한 한 줄 전체를 입력받는다(엔터를 소모한다) 1) 엔터 이전까지의 값을 가져온다 2) 임시저장공간에서 엔터를 소모한다(지워준다) (3) .nextInt() : 입력받은 값을 int 타입으로 반환한다 입력한 값을 띄어쓰기, 엔터로 구분하고 분리한다 (4) .nextDouble() : 입력받은 값을 double 타입으로 반환한다 입력..
자바 형변환과 입력 메소드 1. 형변환(Type Casting) 강제형변환 : (자료형)값 (double)10; (int)4.2; 자동형변환 1) 작은 byte의 값을 큰 byte의 변수에 저장하면 자동 형변환 된다 2) 정수 + 정수 = 정수 실수 + 실수 = 실수 3) 문자는 정수로 자동 형변환 된다 2. 문자열의 형변환 다른 자료형을 문자열로 변환 다른 자료형 + ""(빈 문자열)로 연결하면 항상 문자열이 된다 문자열을 다른 자료형으로 변환 기본자료형은 기본 자료형끼리 형변환이 된다 클래스타입은 기본 자료형으로 변환이 불가능한데 String 타입(참조자료형)은 Integer, Double, Boolean 등의 클래스의 도움을 받아서 형변환을 할 수 있다 정수형 Integer.parseInt("문자열") 실수형 Double.p..
Java 변수와 자료형 1. 자료형(Data Type): 값의 종류 (1) 기본 타입 자료형 type byte 값 정수형 int 4byte 4,6,-245,123,0,.. long 8byte 5L, -5L, 0L 실수형 float 4byte 4.0f, -95.2f, 0.0f, .. double 8byte 4.0, 3.15, 0.0, .. 논리형 boolean 1byte true, false 문자형 char 2byte 'a','가', .. 문자열 String ?? "2023년 11월 8일" (2) 비트(bit) 컴퓨터가 처리할 수 있는 최소의 데이터 단위 (3) byte 8bit가 모이면 1byte가 된다 (4) 문자 작은 따옴표로 감싸진 1개의 문자 (5) 문자열 문자들을 나열한 것 큰 따옴표로 감싸진 0개 이상의 문자 2. ..
Java 1. java란 ? (1) Java 1) 0,1 로 이루어진 컴퓨터가 이해하는 저급 언어를 사람이 이해 하기 쉬운 고급언어로 번역된 언어의 종류 중 하나 2) 컴퓨터언어 = 저급언어 + 고급언어 3) 번역프로그램: 인터프리터, 컴파일러 4) 저급언어 -----컴파일러-----고급언어 (2) Java 폴더의 구성 1) 프로젝트(폴더) 하나의 프로그램의 단위 프로그램을 구성하는 것들을 모아둔 폴더 2) 패키지(폴더) 소스파일들의 묶음 단위 프로젝트의 하위 폴더 3) 소스파일 .java로 끝나는 파일이며 소스코드가 작성되어있다 4) 클래스 자바의 모든 코드는 클래스 내부에 작성되어있다 클래스의 이름은 반드시 대문자로 시작해야한다 (3) 자바 환경설정 및 설치 1) 자바 설치 여부 확인하기(windows) 실행..