Back-end Skill/JAVA 22

면접 스터디 1주차 JVM의 동작과 원리

자바 가상 머신(JVM)이란 무엇인가? 더보기 자바 가상 머신(JVM, Java Virtual Machine)이란 자바 바이트 코드를 실행시키기 위한 가상의 기계 자바 가상 머신의 구성 자바 가상 머신(JVM)은 다음과 같이 구성된다. 1. 자바 인터프리터(interpreter) 더보기 자바 컴파일러에 의해 변환된 자바 바이트 코드를 읽고 해석하는 역할이다. 2. 클래스 로더(class loader) 더보기 자바는 동적으로 클래스를 읽어오므로, 프로그램이 실행 중인 런타임에서야 모든 코드가 자바 가상 머신과 연결되는데 이렇게 동적으로 클래스를 로딩해주는 역할이다. 3. JIT 컴파일러(Just-In-Time compiler) 더보기 JIT 컴파일러(Just-In-Time compiler)란 프로그램이 실..

Back-end Skill/JAVA 2022.02.09

Java #4 자바에서의 그 놈!!의 HelloWorld !! 구조 파해치기

public class helloworld { public static void main(String[] args) { System.out.println("Hello World"); } } public class helloworld { //helloworld라는 클래스정의 첫번째-마지막 중괄호 사이에 hello world 클래스 내용이 들어감 public static void main(String[] args) { //접근제어자 public or private, 클래스 안에 정의된 내용, 메소드란 클래스안에 정의된 함수, main= 정의할 메소드(함수)이름, 이 main메소드는 args라는 문자열배열을 파라미터로 받음. //main메소드 앞에 지금 void라고 적혀 있는 것은 메소드의 리턴값을 선언하는 ..

Back-end Skill/JAVA 2021.11.18

Java #3 본격적으로 자바를 씹어먹기 전에 간단키워드6

변수 변수는 정보를 저장하고 쓸 수 있게 해주는 '이름표' 같은 개념이다. 예를 들어 'food' 라는 변수를 만든 뒤, 그 안에 '감자', '고구마', '수박' 같은 정보를 넣어둘 수 있다. 'food' 라는 변수에 '감자'를 저장해두면, 코드 아무 곳에서나 'food'라는 이름으로 '감자'를 사용할 수 있다. 'food' 변수의 값을 '고구마'로 바꾸면, 코드의 다른 부분에서도 'food'라는 이름이 '고구마'를 의미할 수있다. 자료형 '서지희', '양찬홍', '장호진'은 문자. 11, 24, 97은 숫자. 컴퓨터에는 이처럼 여러 가지 형태의 자료가 있다. 이 자료들의 종류를 '자료형'이라고 부릅니다. 자료형에는 대표적으로 숫자, 문자, 그리고 참과 거짓을 나타내는 논리형 등이 있다. 자바에서는 in..

Back-end Skill/JAVA 2021.11.18

Java #2 자바와 객체지향 . 객체! 객체!,, 객체지향이 중요하다고? 근데 그게 뭔데?

자바와 객체 지향 자바와 객체 지향은 뗄레야 뗄 수 없는 개념이다. 자바는 처음부터 객체 지향 언어로 만들어졌다. 객체 지향 프로그래밍 (Object Oriented Programming, OOP)은 간단히 프로그램을 작성하는 기법이다. 부품에 해당하는 객체 (Object)를 먼저 만들고, 이것들을 하나씩 조립 및 연결해서 전체 프로그램을 완성하는 기법이다. 객체 지향이 잘 적용된 언어는 코드의 구조가 명확하기 때문에 코드를 이해하기 쉽고, 관리와 유지 보수가 효율적인 특징을 가지고 있다. 다양한 언어와 함께 보도록하자. 객체 지향이 코드에 어떻게 드러날까? 다른 언어와 비교해 보자! 다음은 Hello라는 문구를 출력하기 위한 코드이다. Java ver. public class HelloWorld { p..

Back-end Skill/JAVA 2021.11.18

Java #1 한 번만 작성하면, 어디서든 동작한다. from JVM

자바와 가상머신 "한 번만 작성하면, 어디서든 동작한다. (Write Once, Run Anywhere.)" 자바의 특징을 잘 나타내는 문구이다 프로그래밍을 하면서 제일 힘들게 하는 건 무엇일까? 대표적으로 '호환성' 문제이다. 어떤 언어는 운영체제에 따라 동작이 달라진다. 분명히 윈도우즈에서는 잘 동작했는데, 맥에서 동작하지 않는 일이 발생하기도한다. 그래서 우리가 개발할 때는 항상 운영체제를 신경써야 한다. 만약 휴대폰 애플리케이션을 개발할 때를 생각해보자. 최악의 경우, 모든 휴대폰 기종을 모아서 매번 테스트를 해야한다. 자바는 이런 '호환성'문제를 해결해준다. '자바 가상머신'이라는 것만 설치되면, 어느 운영체제이든, 어느 디바이스이든, 동일하게 동작한다. (자바 가상머신은 영어로 Java Vir..

Back-end Skill/JAVA 2021.11.18

TIL 30일차 개발일지_ Getter, Setter

자바의 클래스는, 밖에 드러내도 되는 것들을 public, 함부로 바꾸면 안되는 것들을 private 으로 구분해서 나타내고있어요. 왜냐구요? 클래스는 고객의 비밀번호나 결제정보와 같이 민감한 정보들도 담고 있기 때문에 클래스의 모든 정보를 손쉽게 바꿀 수 있으면 큰일나겠죠?! 대부분 멤버 변수를 private이라고 선언한다. ABOUT 생성자 말 그대로 생성될 때 호출되는 자 정확히 뭐가 생성되냐면 클래스가 생성이 될 때 그 생산자가 호출이 최초로 되면서 이제 클래스 객체 초기화에 필요한 것들을 만들어주는 과정! public class User { string name; //이름 int age; //나이 String hobby; //취미 //클래스의 생성자 public User (String_name,..

Back-end Skill/JAVA 2021.11.06

TIL 29일차 개발일지_ 자바 클래스

클래스가 뭐야? = 클래스는 정보를 묶는 것! 객체지향프로그래밍 ....이 무엇인지 앞에 포스팅에서 계속 다뤘었는데요 기억하시죠..? 기억이 안나신다면 Spring 실시간 강의 정리본을 보러 gogo ~ 클래스는 현실과 비슷한 개념(객체)을 나타내기 위한 자바의 도구를 클래스라고 부른다고 합니다! 클래스 내 정보를 멤버 변수라고 합니다. 클래스 예제) public class Course { // title, tutor, days 가 Course 라는 맥락 아래에서 의도가 분명히 드러나죠! public String title; public String tutor; public int days; } Course course = new Course(); course.title = "웹개발의 봄, Spring"..

Back-end Skill/JAVA 2021.11.05

내일배움캠프 28일차 개발일지_ JAVA 기초문법#4편_조건문

조건문 boolean 타입을 활용하여 특정 경우 일 때 명령을 내리는 문법 int age = 20; if (age > 19) { System.out.println("성인입니다."); } else { System.out.println("미성년자입니다."); } if (조건) 중괄호 { } else { } int age = 19; if (조건: 조건이 참일경우 실행할 것 ) { 명령문1 } else (if) (참이 아닐경우에 지정하는 함수) 명령문2 public static void main (string[] args) { int age = 34; if (age >90 ) { system.out.println ("완전 어른"); else if (age>50) { system.out.println ("그냥 어..

Back-end Skill/JAVA 2021.11.03

내일배움캠프 20일차 개발일지_ JAVA 기초문법#3편_메소드

메소드에 대해 알아보자 어려울 수 있으니 집중해보고 이해가 안되는 부분은 반복해서 백지 복습을 해보자. 메소드란 반복적인 행동을 줄여서 어디든 갖다 쓸 수 있는 명령 모음이다 . 무슨 말인지 잘 와닿지 않는 사람들이 많을 것이다. 나도 그렇다. 그렇다면 예제를 보면서 이해해보자 메소드가 없을 때 코드 String title = "기초 자바"; String tutor = "dany"; int weeks = 5; float ratings = 5.0f; System.out.println("제목: " + title); System.out.println("튜터: " + tutor); System.out.println("주차: " + weeks); System.out.println("별점: " + ratings);..

Back-end Skill/JAVA 2021.11.02