본문 바로가기
[JVM] JVM 메모리구조와 동작방식 메인 메소드 블록 자바 프로그램을 실행하면 자바 가상머신은 클래스내에 포함되어 있는 메인 메소드를 찾아 실행한다. public static void main(String[] args){...} public : 모든 클래스에서도 해당 변수나 메서드가 접근이 가능하다는 의미로 프로그램의 시작은 main 이기 때문에 다른 곳에서도 호출할 수 있도록 public을 사용 static : 자바가 compile이 되는 순간 가장 빠르게 정의되어 별도의 객체 생성 없이 모든 객체와 공유가 가능 void : 별도로 return 값 없이 메소드를 실행하고 끝난다는 의미. main : 이 메서드가 main 메서드라는 의미 메인 메소드 블록에서 왜 static 이어야 할까 JVM은 example() 메소드에 접근하기 전에 인.. 2023. 6. 29.
[JAVA] 객체지향 복습 Quiz Q1. UpgradeCalculator /* 다음은 Calculator 클래스와 그 사용법을 담은 코드이다. Calculator 클래스를 상속하는 UpgradeCalculator를 만들고 값을 뺄 수 있는 minus 메서드를 추가해 보자. 즉 다음과 같이 동작하는 클래스를 만들어야 한다. UpgradeCalculator cal = new UpgradeCalculator(); cal.add(10); cal.minus(3); System.out.println(cal.getValue()); // 10에서 3을 뺀 7을 출력 */ class Calculator { int value; Calculator() { this.value = 0; } void add(int val) { this.value += val; .. 2023. 6. 20.
[JAVA] 객체지향 복습 점프투자바 객체지향 복습 객체지향 뼈대를 만들어놓고 일부만 다른 완제품을 만들어서 사용한다. 일부만 다르다는건 완제품1과 완제품2는 서로 영향을 주지 않는 독립된 무언가를 사용 할 수 있다는 뜻. 긴줄의 코드를 짧게 만들어서 사용 할 수 있는 장점도 있다. 장점은 이것보다 많지만 이것도 객체지향의 필요 이유중 하나이다. 객체와 인스턴스 껍데기 뿐인 클래스(Class)도 객체(object)를 만드는 기능을 가지고 있다. class Animal { } public class Sample { public static void main(String[] args) { Animal cat = new Animal(); } } Animal 클래스의 인스턴스인 cat 즉, Animal의 객체가 만들어 진 것이다. 객체와.. 2023. 6. 20.
[Java] 자료형 / 형변환 복습 1. 형변환 public class Sample { public static void main(String[] args) { // 문자열 > 정수 System.out.println("문자열 > 정수"); String num = "123"; int n = Integer.parseInt(num); System.out.println(n); // 123 String number = "123.456"; double nn = Double.parseDouble(number); System.out.println(nn); // 123.456 String number2 = "123.456"; float nn2 = Float.parseFloat(number2); System.out.println(nn2); // 123.45.. 2023. 6. 18.
[Java] 소스코드 형태 복습 자바 소스코드 형태 보통 일반적인 자바 소스코드는 다음과 같은 형태로 만들어 진다. 클래스명.java /* 클래스 블록 */ public class 클래스명 { /* 메서드 블록 */ [public|private|protected] [static] (리턴자료형|void) 메서드명1(입력자료형 매개변수, ...) { 명령문(statement); ... } /* 메서드 블록 */ [public|private|protected] [static] (리턴자료형|void) 메서드명2(입력자료형 매개변수, ...) { 명령문(statement); ... } ... } 소스코드의 가장 바깥쪽 영역은 클래스 블록이다. 클래스명은 원하는 이름으로 지을 수 있다. 단, 클래스명은 소스파일의 이름(클래스명.java)과 동일하.. 2023. 6. 18.