전체 글 188

클래스 메서드(static)와 인스턴스 메서드 (static은 무엇일까)

변수와 마찬가지로, 메서드 앞에 static이 붙어 있으면 클래스 메서드이고, 없으면 인스턴스 메서드이다. (클래스 영역에 선언된 변수를 멤버변수라 하고, 멤버변수 중 static이 붙은 것을 클래스 변수, 붙지 않은 것을 인스턴스 변수라 함. 인스턴스 변수와 static 변수 모두를 통칭하는 말이 멤버 변수!) 그럼 과연 static이 무엇일까? 무엇이길래 유무의 차이로 인해 정의가 바뀌는 것일까? static은 '클래스의' 또는 '공통적인'의 의미를 가지고 있다. 인스턴스 변수는 하나의 클래스로부터 생성되었더라도 각기 다른 값을 유지하지만, 클래스변수(static멤버변수)는 인스턴스에 관계없이 같은 값을 갖는다. 이와 같은 이유는 하나의 변수를 모든 같은 인스턴스가 공유하기 때문이다. static이 ..

Language/Java 2022.01.20

장독에 지식 채우기 (모를때마다 와서 추가)-(2022.01.17ver)

우연히 Java 관련 알고리즘 문제를 풀고 풀이 과정을 듣는 중 ArrayList라는 클래스가 눈에 보였다. (어... 이거 뭐였지?.. )하는 생각이 내 눈앞에 빠르게 지나갔는데... Array는 배열이였고.. List는 리스트? 그럼 ArrayList는? 뭐였지?... 그래서 풀이를 잠시 중단하고 ArrayList에 대해 짚고 넘어가고자 한다. 1. ArrayList ArrayList는 자바에서 기본적으로 많이 사용되는 클래스로 자바의 List 인터페이스를 상속받은 여러 클래스 중 하나이다. 일반 배열과 동일하게 연속된 메모리 공간을 사용하는데, 배열과 마찬가지로 인덱스는 0부터 시작한다. 차이점은 배열은 크기가 고정이지만, ArrayList는 크기가 가변적으로 변한다. 내부적으로 저장이 가능한 메모..

Language/Java 2022.01.17

Java의 이해(객체와 메모리)

메모리에서 객체를 생성하는데 이를 동적생성이라 한다. 객체는 메모리에서 동적으로 생성되며 객체가 더이상 필요없게되면 GC(Garbage collector)에 의해 제거된다. 자료형이 같아도 다른 공간에 존재하는 객체는 엄연히 다른 객체임을 알고있어야한다. 레퍼런스에서는 원래 객체의 메모리 주소가 있지만 그 부분에 NULL을 넣게되면 NULL이 출력되고 그 후 다시 출력하게 되면 Exceptio 오류가 발생한다.

Language/Java 2022.01.17

1) 객체 지향 프로그래밍 및 클래스 제작과 객체 생성 그리고 변수와 메서드)

1) 객체지향적 코드의 예시 - 비객체지향적 코드 - int hour1, hour2, hour3; int minutel, minute2, minute3; float second1, second2, second3; int [] hour = new int[3]; int [] minute = new int[3]; float [] second = new float[3]; - 객체지향적 코드 - Time t1 = new Time(); Time t2 = new Time(); Time t3 = new Time(); Time[] t = new Time[3]; t[0] = new Time(); t[1] = new Time(); t[2] = new Time(); 1) 객체지향 언어의 장점 1. 코드의 재사용성이 높다.(새..

Language/Java 2022.01.17

Java에 대한 기본적인 이해(배열과 메모리 그리고 조건문, 반복문)

1) 배열은 인덱스를 이용해 자료형이 같은 데이터를 관리하는 것이다. 2) 배열의 선언 및 초기화 배열도 변수와 마찬가지로 선언과 동시에 초기화를 할 수 있는데, 자바는 배열의 크기를 정하면 수정이 불가능하다. // 배열 선언 후 초기화 int []arr1 = new int[5]; arr[0]=100 arr[1]=200 arr[2]=300 // 배열 선언과 동시에 초기화 int [] arr2 = {1,2,3,4}; 3) 베열의 메모리 크기는 배열을 구성하는 데이터의 자료형에 따라 배열의 메모리 크기가 결정된다. 4) 배열을 가리키는 배열의 이름 = 기본 자료형 데이터를 담고 있는 변수와 달리 배열 변수는 배열 데이터의 주소를 담고 있다. 5) 배열의 기본 속성 = 기본 자료형 데이터를 담고 있는 변수와 ..

Language/Java 2022.01.17

기본적인 자바코드의 이해 (변수와 메인, 메인메서드, 자료형과 연산자)

Hello world를 이용한 코드 분석(기본 코드의 분석) public class Java{ public static void main(String [] args){ System.out.println("Hello world") }; } 접근제한자 클래스선언 클래스이름{ 접근 제한자 static 반환형 메서드이름(메인함수)(파라미터){ 구현할 코드 } } public class Java{ public static void main(문자열 배열 변수명){ 구현할 코드 }; } 가장 기본적인 Java의 Hello world 출력을 위한 코드로 코드를 분석해보면 다음 위와 같다. // 1) 접근 제한자 -> public, private, protected, default -> 클래스나 메서드에 접근할 수 있는..

Language/Java 2022.01.16