본문 바로가기
728x90
반응형

Programming101

[Java] 클래스 메서드와 인스턴스 메서드 메서드 앞에 static이 붙어 있으면 클래스메서드이고 붙어 있지 않으면 인스턴스 메서드이다. 인스턴스 메서드는 인스턴스 변수와 관련된 작업을 하는, 즉 메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드이다. 인스턴스 변수는 인스턴스(객체)를 생성해야만 만들어지므로 인스턴스 메서드 역시 인스턴스를 생성해야만 호출할 수 있는 것이다. 인스턴스와 관계없는(인스턴스 변수나 인스턴스 메서드를 사용하지 않는) 메서드를 클래스 메서드(static 메서드)로 정의한다. 1. 모든 인스턴스에서 같은 값이 유지되어야 하는 변수는 static을 붙여서 클래스변수로 정의 2. 클래스 변수는 인스턴스를 생성하지 않아도 사용할 수 있다. 3. 클래스 메서드는 인스턴스 변수를 사용할 수 없다. 4. 메서드 내에서 인.. 2021. 3. 5.
[Java] 기본형 매개변수와 참조형 매개변수 기본형 매개변수 : 기본형 값이 복사된다. 변수의 값을 읽기만 할 수 있다. 참조형 매개변수 : 인스턴스의 주소가 복사된다. 변수의 값을 읽고 변경할 수 있다. 더보기 출처, 자바의정석 2021. 3. 5.
[Java] JVM의 메모리 구조 1. 메서드 영역 (method area) - 프로그램 실행 중 어떤 클래스가 사용되면, JVM은 해당 클래스의 클래스파일을 읽어서 분석, 클래스에 대한 정보(클래스 데이터)를 이곳에 저장한다. 이 때 그 클래스의 클래스변수도 이 영역에 함께 생성된다. 2. 힙 (heap) - 인스턴스가 생성되는 공간. 프로그램 실행 중 생성되는 인스턴스는 모두 이곳에 생성. 인스턴스변수들이 생성되는 공간이다. 3. 호출스택 (call stack 또는 execution stack) - 메서드의 작업에 필요한 메모리 공간을 제공한다. 메서드가 작업을 수행하는 동안 지역변수(매개변수 포함)들과 연산의 중간결과 등을 저장하는데 사용. 호출된 메서드를 위한 메모리가 할당되며 작업을 마치면 할당 된 메모리 공간은 비워진다. 더보기 2021. 3. 5.
[Java] 변수와 메서드 1) 변수 선언 위치에 따른 변수의 종류 1. 인스턴스변수 (instance variable) 클래스 영역에 생성, 클래스의 인스턴스를 생성할 때 만들어진다. 독립적인 저장공간을 가지며 서로 다른 값을 가질 수 있다. 인스턴스마다 고유한 상태를 유지해야하는 속성의 경우, 인스턴스변수로 선언한다. 2. 클래스변수 (class variable) 인스턴스변수 앞에 static을 붙여주면 된다. 클래스변수는 모든 인스턴스가 공통된 저장공간(변수)을 공유한다. 인스턴스변수와 달리 인스턴스를 생성하지 않고도 사용할 수 있다. '클래스이름.클래스변수'와 같은 형식으로 사용한다. 3. 지역변수 (local variable) 메서드 내에 선언되어 메서드 내에서만 사용 가능하다. 메서드가 종료되면 소멸되어 사용할 수 없게.. 2021. 3. 3.
[Java] 객체지향언어란? hong-chii.tistory.com/3?category=1150868 [Java] class 와 객체 개념 정리 클래스의 정의와 용도 정의 : 객체를 정의해 놓은 것. 용도 : 객체를 생성하는데 사용. 객체의 정의와 용도 정의 : 실제로 존재하는 것. 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름. 객 hong-chii.tistory.com 객체지향이론의 기본개념은 '실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다.'라는 것이다. 또, 상속, 캡슐화, 추상화 개념을 중심으로 점차 구체적으로 발전되었다. 객체지향언어의 특징 코드의 재사용성 : 새로운 코드 작성시 기존 코드를 이용해 쉽게 작성할 수 있다. 코드의 관리 용이 : 코드간의 관계를 이용해 쉽게 .. 2021. 3. 2.
[Java] 다차원 배열 다차원 배열 : 2차원 이상의 배열, 대괄호[] 개수를 차원의 수만큼 추가하면 된다. 2차원 배열은 주로 테이블 형태의 데이터를 담는데 사용된다. 선언방법 타입[][] 변수이름; 타입 변수이름[][]; 타입[] 변수이름[]; 예 ) 4행 3열의 2차원 배열 생성 int[][] a = new int[4][3]; // 4행 3열의 2차원 배열 생성 3열 4행 a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] a[2][0] a[2][1] a[2][2] a[3][0] a[3][1] a[3][2] 아래와 같은 테이블형태의 데이터를 배열에 저장해보자. 국어 영어 수학 1 100 100 100 2 20 20 20 3 30 30 30 4 40 40 40 5 50 50 50 int[].. 2021. 3. 1.
[Java] StringBuffer와 StringBuilder String 클래스는 내용을 변경할 수 없는 불변 클래스이다. 또, 덧셈 연산자로 문자열을 결합하는 경우엔 새로운 문자열 객체가 생성되기 때문에 성능이 떨어져, 변경 및 추가가 가능한 StringBuffer클래스를 사용해야한다. www.tcpschool.com/java/java_api_stringBuffer 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com 멀티 쓰레드 환경에서는 StringBuffer를 사용하는 것이 안전하고 그 외에는 StringBuilder 사용해주면 된다. 아래 블로그에 정리가 잘되어있다. wakestand.tistory.com/245 자바 StringBuffer, StringBuilder 개념부.. 2021. 3. 1.
[Java] StringTokenizer StringTokenizer 긴 문자열을 지정된 구분자(delimiter)를 기준으로 토큰(token)이라는 여러 개의 문자열로 잘라내는데 사용된다. 구분자로 단 하나의 문자 밖에 사용하지 못하기 때문에 복잡한 형태의 구분자로 문자열을 나누어야 할 때는 부적절하다. StringTokenizer의 생성자와 메서드 StringTokenizer (String str, String delim) 문자열(str)을 구분자(delim)로 나누는 StringTokenizer 생성 StringTokenizer (String str, String delim, boolean returnDelims) 문자열(str)을 구분자(delim)로 나누는 StringTokenizer 생성 int countTokens() 전체 토큰의 .. 2021. 2. 28.
[Java] BufferedReader와 BufferedWriter BufferedReader와 BufferedWriter : 버퍼를 이용해서 입출력 하는 메소드 버퍼란 무엇인가? : 쉽게 말해 임시저장 공간이다. 1. BufferedReader Scanner를 통해 입력을 받을경우 Space Enter를 모두 경계로 인식하기에 데이터로 가공하기 편리하지만, BufferedReader는 Enter만 경계로 인식하고 받은 데이터가 String으로 고정된다. Scanner에 비해 사용이 불편하지만, 많은 양의 데이터를 입력받을때 효율적이다. BufferedReader 사용법 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Test{ p.. 2021. 2. 28.
728x90
반응형