[국비지원과정20] 자바 - 클래스 메서드와 인스턴스 메서드가 헷갈린다면?
·
회고록
개념을 알기 전에 이것부터 머리속에 먼저 주입하자! 이것만 기억하고 공부해도 2배 이상 쉽게 이해할 수 있다. ⭐⭐⭐클래스 메서드는 인스턴스 메서드보다 먼저 생성된다. 그래서 인스턴스 메서드가 생성되고 호출되는 시점에는 클래스메서드는 언제든지 호출 가능하고 클래스변수도 사용할 수 있다. 반대로 클래스 메서드가 생성된 시점에서는 인스턴스 메서드가 아직 생성되지 않은 시점이기 떄문에 있지도 않은 메서드를 클래스 메서드안에서 호출하려고 하면 예외가 생길 수 밖에 없다. 🟰클래스 메서드 🟰인스턴스 메서드 ☀️메서드의 작업을 수행하는데 인스턴스 변수를 필요로 하는 메서드 🟰클래스 메서드 ☀️인스턴스 변수나 인스턴스 메서드를 사용하지 않는 메서드 🟰메서드 생성 규칙 ☀️ 클래스를 설계할 때, 멤버변수 중 모든 인스..
[국비지원과정19] JVM 구조
·
회고록
그동안 너무 바빠서 한동안 못 올렸던 국비지원과정 교육 내용을 다시 기록하려고 한다... 나태한 내 자신 스스로 채찍질 해야해..ㅠㅠ 우선 JVM의 구조를 간단히 보자. 그림은 좀 깔끔하지 못하지만 최선을 다했다. 🟰메서드 영역(Method area) ☀️ 프로그램 실행 중에 어떤 클래스가 호출되면, JVM은 해당 클래스의 컴파일 된 클래스파일(.class)을 읽어서 분석하여 해당 클래스에 대한 정보를 이곳에 저장한다. 이 때 해당 클래스의 클래스변수도 이 영역에 함께 생성된다. ☀️만약 클래스 메서드와 인스턴스 메서드가 있다면 먼저 호출되는 것은 클래스 메서드이다. ☀️왜냐하면 인스턴스 메서드보다 메서드 영역의 클래스 메서드가 먼저 호출되기 떄문이다. 🟰힙(Heap) ☀️인스턴스가 생성되는 공간. 프로..
[국비지원과정18] JAVA - FOR문의 조건
·
회고록
package loop; public class Ex02 { public static void main(String[] args) { //for 문에서 ; 으로 구분된 각 절은 상황에 따라 생략할 수 있다. int i; for(i=0;i
[국비지원과정17] JAVA - 반복문 For
·
회고록
package loop; public class Ex01 { // for : 일정한 횟수만큼 반복할때 주로 사용한다. public static void main(String[] args) { for(int i =0; i
[국비지원과정16] JAVA - 등차수열 알고리즘
·
회고록
package loop; import java.util.Random; public class Ex08 { public static void main(String[] args) { Random ran = new Random(); int begin = ran.nextInt(10)+1; int end = ran.nextInt(10)+100; System.out.println("begin : %d, end : %d\n, begin , end"); // 두 정수의 합계 구하기 int total = 0; int n1 = begin; while(n1
[국비지원과정15] JAVA - 이진탐색 알고리즘(while사용)
·
회고록
package loop; import java.util.Random; public class Ex07 { public static void main(String[] args) { // 탐색 //순차탐색(sequential search) : 처음부터 순서대로 하나씩 값을 비교해나가는 방식 //이진탐색(binary search) : 중간값을 찾아나가면서, 값의 범위를 좁혀나가는 방식 Random ran = new Random(); int cnt = 0; int min =1; int max = 10000; int answer = ran.nextInt(max) +1; int seq = min; while(true) { cnt++; if(seq == answer ) break; else {seq++;} } Sys..