개발지/Today I learn (52) 썸네일형 리스트형 [0718] 자바 객체지향프로그래밍 2 (필드와 메서드) #필드 :'클래스에 포함된 변수'를 의미. 객체의 속성을 정의할 때 사용된다. -변수의 종류 선언 위치 이름 static 사용 사용메모리 초기화 클래스 영역 클래스 변수 (cv, class variable) O 메서드 자동초기화 인스턴스 변수 (iv, instance variable) X 힙 메서드 영역 지역 변수 (lv, local variable) O 스택 초기화 없이 사용시 오류. (1)클래스 변수 : 공통저장공간 공유.(= 메서드 영역 메모리 사용) static 키워드를 사용하여 모든 인스턴스에서 공유하는 값으로 사용된다. (2)인스턴스 변수 : 인스턴스의 각각의 고유한 속성을 저장하기 위한 변수. (3)지역 변수 : 메서드 내 선언. 메서드 내에서만 사용 가능. #static : 클래스의 멤버에.. [0717] 자바 객체지향프로그래밍 1 (클래스와 객체) #왜 객체지향프로그래밍인가? 객체는 실재하는 대상(Object)를 뜻한다. 프로그래밍에서의 객체는 프로그램에서 사용되는 데이터 또는 식별자에 의해 참조되는 공간을 의미한다. 객체지향프로그래밍이란 프로그램 안에서 각각의 기능과 역할을 가진 객체들이 상호작용을 통해 프로그램의 기능을 수행하는 프로그래밍 방법론을 지칭한다. 객체지향 프로그래밍을 지향할 때, 각각의 속성과 기능을 가진 객체들은 다른 프로그램에서 사용되거나 수정될 수 있어 프로그램 개발 및 유지 보수에 용이하고, 객체를 통한 데이터 관리로 손실 없는 데이터를 얻을 수 있다. 객체를 생성하기 위해 자바에서는 클래스, 클래스가 만들어지는 필드와 메서드, 생성자를 사용한다. #클래스와 객체 ▪클래스 :객체를 정의한 '설계도' 또는 '틀'과 같다. 그래.. [0711] 자바 기초 10 (배열) #배열 : 동일한 타입의 값들을 하나의 묶음으로 묶은 자료 구조를 의미한다. 배열은 동일한 타입의 많은 값을 저장하기 위해 많은 변수를 선언해야할 때 사용한다. 배열을 사용하는 이유는 비슷한 유형의 값들을 저장할 때 메모리공간을 절약하고, 변수 선언의 번거로움을 줄일 수 있기 때문이다. #배열의 차원 :배열의 차원은 배열이 중첩된 정도를 의미한다. 중첩의 의미는 배열안의 요소가 배열인 경우이다. *특징은 배열은 참조 타입으로 선언된다. 즉 배열을 선언할 때 변수명에는 배열의 주소값만 담긴다. 왜나하면 처음 배열이 선언될 때에 몇 개의 요소가 담길 지 모르기 때문이다. 주로 사용하는 1,2차원 배열만 정리하자면 다음과 같다. (1) 1차원 배열 : 배열의 요소가 배열이 아닌 배열. 타입 뒤에 []을 붙여 .. [0710] 자바 기초 9 (콘솔 입/출력, 제어문) #콘솔 출력 : 프로그래밍 중 변수에 담긴 값을 확인하기 위해 출력하고자 할 때 사용한다. (1) 출력: System.out.print() : 소괄호 안의 내용을 출력한다. (2) 출력 후 줄 바꿈: System.out.println() : 소괄호 안의 내용을 출력하고 줄 바꿈을 한다. (3) 형식대로 출력하기: System.out.printf() : 지시자를 이용해 변수의 값을 여러 형식으로 출력한다. EX. System.out.printf(지시자, 출력내용); *지시자의 갯수와 출력내용의 수는 같아야 한다. System.out.printf("오늘은 %c요일입니다.%n", '월'); System.out.printf("이번달은 %s년%c월입니다.", "2023", '7'); //출력값 //오늘은 월요일입.. [0710] 자바 기초 8 (연산자) #연산자 : 피연산자로 새로운 값을 만들어내는 기호. #산술연산자 연산자 기능 +(덧셈 연산자) 피연산자들을 더한 값을 반환 -(뺄셈 연산자) 왼쪽의 피연산자에서 오른쪽의 피연산자의 뺀 값을 반환 *(곱셈 연산자) 피연산자들을 곱한 값을 반환 /(나눗셈 연산자) 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 값을 반환 %(나머지 연산자) 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 나머지를 반환 *나눗셈 연산자와 나머지 연산자를 사용할 때, 오른쪽 피연산자로 0을 사용할 시, 에러 발생. *피연산자 중 실수형이 존재할 시, 실수형이 아닌 피연산자도 실수형으로 형변환되어 계산된다. #증감연산자 :변수의 값을 1씩 증가/감소 시키는 연산자 num1++; // num1 = num1 + 1;과 같습니다. ++num1.. [0707] 자바 기초 7 (StringTokenizer, StringBuilder, StringBuffer) #StringTokenizer : StringTokenizer 클래스는 문자열을 지정한 구분자로 쪼개주는 클래스이다. 쪼개어진 문자열은 토큰(Token)이라고 부른다. 사용하기 위해서는 java.util.StringTokenizer를 import해야 한다. (1) StringTokenizer st = new StringTokenizer(문자열); : 띄어쓰기 기준으로 문자열을 분리(토큰 생성) (2) StringTokenizer st = new StringTokenizer(문자열, 구분자); : 구분자를 기준으로 문자열을 분리(토큰 생성) (3) StringTokenizer st = new StringTokenizer(문자열, 구분자,true/false); : 구분자를 기준으로 문자열을 분리(토큰 생성).. [0706] 자바 기초 6 (String타입, String클래스의 메서드) #String 타입 String 클래스 타입을 사용해 문자열을 다룬다. 큰따옴표("")로 문자열을 감싸 사용한다. (1)변수를 선언하여 문자열 리터럴을 할당하는 경우 : (String name = "pilgrim") (2)String클래스의 인스턴스를 생성하는 방법 : (String name2 = new String("pilgrim") //(1)변수를 선언하여 문자열 리터럴을 할당하는 경우 String name = "pilgrim"; //(2)String클래스의 인스턴스를 생성하는 방법 String name2 = new String("pilgrim"); #직접할당과 인스턴스 생성의 차이점 (1)과 (2)의 방법 모두 저장하고 있는 것은 문자열이 저장된 메모리 주소이다. 출력시 자동으로 호출되는 Strin.. [0705] 자바 기초 5 (논리 타입과 문자 타입, 자동 타입 변환) #논리 타입 boolean형만 존재한다. 참 거짓을 저장하는 값인 true/false만 저장할 수 있다. 2가지 타입을 표현하기에 1bit의 크기면 충분하지만, JVM이 다루는 데이터의 최소 단위가 1byte이기 때문에 boolean형은 1byte의 크기를 가진다. #문자 타입 char형 하나만 존재한다. char형 변수를 사용할 때는 작은따옴표('')를 사용한다. 큰 따옴표("")는 문자열 리터럴(String)로 인식되기 때문이다. 자바는 유니코드로 문자를 저장한다. char형 변수 alphbet에 'a'를 저장할 때 자바는 'a' 리터럴 대신 a의 유니코드를 저장한다. 후에 저장된 데이터를 꺼낼 때 유니코드를 불러와 코드에 맞는 문자를 출력한다. #자동 타입 변환 자바에서 타입이 자동으로 변환되는 경.. [0704] 자바 기초 4 (정수타입과 실수타입) #정수 타입 :숫자를 나타내는 타입. byte, short, int, long 총 4종류가 있다. 차이점은 나타낼 수 있는 숫자의 범위이다. 예전 메모리 크기가 제한적일 때 byte, short를 썼지만 현재는 주로 int형을 사용하며, 큰 정수를 저장할 때 long형을 사용한다. int: 약 -21억 ~ 21억 long: 약 -920경 ~ 920경 (접미사 L을 붙여준다) #오버플로우와 언더플로우 (1) 오버플로우 : 자료형의 최대값을 넘어간 값을 표현한 경우 발생. 최대값을 넘어가면 해당 데이터 타입의 최소값으로 변환된다. (2) 언더플로우 : 자료형의 최소값을 넘어간 값을 표현한 경우 발생. 최소값을 넘어가면 해당 데이터 타입의 최대값으로 변환된다. #실수타입 :소수점을 가진 수를 나타내는 타입. .. [0703] 자바 기초 3 (타입과 리터럴) #타입 값의 유형 및 종류를 의미. 타입에 따라 결정되는 2가지가 있다. (1) 값이 차지하는 메모리 공간의 크기. (2) 값이 저장되는 방식 : 저장하고자 하는 값을 그대로 저장하는 기본 타입과 값이 저장된 메모리 공간의 주소를 저장하는 참조 타입 #기본 타입과 참조 타입 (1) 기본타입 :데이터의 실제 값이 저장. [ex. 정수 (byte, short, int, long), 실수 (float, double), 문자 (char), 논리 (boolean)] (2)참조타입 : 데이터가 저장된 주소값이 저장. (위 8개의 기본형을 제외한 나머지 타입) *출력시 차이점 public class Main { public static void main(String[] args) { int num = 1; Objec.. 이전 1 2 3 4 5 6 다음