본문 바로가기

Programming/Java83

[F-Lab 모각코 챌린지 6일차] : TIL 조건문은 조건의 결과에 따라서 코드를 수행하게 만들 때 사용하는 문법이다. if 문장의 소괄호 안의 결과는 boolean 이어야 한다. if 소괄호 조건에 맞지 않는 모든 경우를 처리할 때 else 예약어 뒤에 { } 중괄호를 선언하고 그 안에 실행할 코드를 작성하면 된다. if 조건은 여러개 나열할 수 있는데 else if (조건문) { } 형태로 추가하면 된다. if, else if, else 예약어 , (조건문) 뒤에 { } 중괄호가 없어도 되는 경우가 있다. 컴파일러는 조건문 뒤에 세미콜론 하나가 나올 때까지 기다리기 때문에 한 줄의 코드는 중괄호 없이 사용해도 된다. if (조건문) doSomethingA("A"); doSomethingB("b"); // if 조건이 충족되면 처리문장의 범위를 .. 2023. 6. 8.
[F-lab 모각코 챌린지 5일차] java : ==, equals() == 참조 변수에 사용하면 메모리에 같은 객체를 참조하는지 비교 기본자료형에 사용하면 값을 비교 왜 다르게 동작하는가? 기본자료형과 객체는 메모리의 각자 다른 영역에 저장되기 때문에 Object.equals() 모든 객체는 Object 클래스를 상속한다. 이 클래스에 정의된 equals() 메서드는 내부적으로 == 연산을 사용한다. 하위 객체가 equals() 를 오버라이딩하지 않고 eqauls( ) 을 호출하면 == 연산 결과를 얻게 된다. Object.equals() 구현시에 지켜야하는 두 객체 참조변수의 동치 관계가 있음 Reflexive 같은 객체끼리 equals() 로 비교할 경우 반드시 true 리턴 a.equals(a); // true 반사관례라 하며 모든 x∈X에 대해서 (x,x)∈R인 r.. 2023. 6. 7.
[F-Lab 모각코 챌린지 3일차] Java : 자바의 연산자 자바의 연산자 대입 연산자 = 더하기 연산자, 빼기 연산자 +, - 곱하기 연산자 * 나누기 연산자 / 나머지 연산자 % 복합 대입 연산자 (Compound Assignment Operator) += 기존의 값에 우측 항의 값을 더함 val = 5; val += 2; --> val = val + 2; 와 같음 -= 기존의 값에 우측 항의 값을 뺌 *= 기존의 값에 우측 항의 값을 곱합 /= 기존의 값에 우측 항의 값을 나눔 %= 기존의 값에 우측 항의 값을 나눈 나머지 단항 연산자 피연산자가 하나인 것 + 단항 플러스 연산자; Unary plus operator 그냥 숫자가 양수라는 것을 명시적으로 보여주기 위해서 사용한다 - 단항 마이너스 연산자; Unary minus operator 음수이면 양수로,.. 2023. 6. 5.
[F-Lab 모각코 챌린지 3일차] Java : JVM 구성 요소와 동작 방식 JVM 정의 JVM 이라 하면 3가지 관점에서 정의할 수 있다. the abstract specification JVM 명세 a concrete implementation JVM 구현체 a runtime instance 실행중인 JVM 프로그램 Java 구성요소와 동작방식 대표적인 역할 클래스 로딩, GC 등 메모리 관리, 스레드 관리, 예외 처리 구성 요소 클래스 로더 서브시스템 Runtime data areas Method area 클래스의 구조나 정보를 저장하는 영역이다. Heap 초기화된 객체가 저장된다 Java stack 스레드별로 생성이 되며 실행중인 메서드 실행 정보를 저장하는 스택이다 Pc registers 스레드별로 생성이 되며 실행해야 할 다음 명령어 참조를 저장한다. Native me.. 2023. 6. 5.
[F-lab 모각코 챌린지 2일차] Java : 기본 자료형 자바의 변수 종류 지역 변수(local variable) 중괄호 내에서 선언된 변수 매개 변수(parameter) 메서드에 넘겨지는 변수 클래스 변수(class variable) 메서드 밖에, 클래스 안에 선언된 변수 중, 앞에 static 이란 예약어가 있는 변수 인스턴스 변수(instance variable) 메서드 밖에, 클래스 안에 선언된 변수. static 이란 키워드가 없어야 한다 변수의 생명주기가 다르다 지역 변수(local variable) 중괄호 내에서만 유효하다 매개 변수(parameter) 메서드가 호출될 때 ~ 메서드가 끝나서 소멸 인스턴스 변수(instance variable) 객체가 생성될 때 ~ 그 객체를 참조하고 있는 다른 객체가 없을 때 클래스 변수(class variabl.. 2023. 6. 4.
[F-Lab 모각코 챌린지 1일차] - Java : 클래스와 객체 클래스와 객체 차이점 클래스는 .class 파일 기반으로 JVM 이 런타임 환경의 메모리에 올려진다. 이렇게 메모리에 올려진 물리적인 클래스를 클래스의 인스턴스 또는 객체라 한다. 앞서 클래스는 상태와 행위를 가질 수 있으며 각자 다른 상태를 갖는 객체를 여러 개 생성할 수도 있다. 생성자 생성자는 클래스 파일을 객체화하는 메서드인데 클래스 이름과 같은 이름을 갖는 메서드다. 매개 변수가 없는 생성자를 기본 생성자라 한다. 기본 생성자는 개발자가 명시하지 않아도 컴파일시에 자동 생성된다. new 예약어 생성자를 호출하는 키워드가 바로 new 예약어 이다. javap 명령어 결과물로 생성자가 어떻게 호출되는지 확인하기 package com.example.scheduler.study; /** * @autho.. 2023. 6. 3.