상속에 대해(2)
·
BackEnd/JAVA 공부
타입 변환 자바에서 타입 변환은 굉장히 편리한 도구 입니다. 기본 타입일 경우 Integer.parseInt와 같은 편리한 메소드로 모든 타입으로 변경 시킬 수 있습니다. 클래스 사이에서도 타입 변환이 생깁니다. 바로 자식타입객체가 부모타입의 변수로 자동으로 타입 변환이 일어나는 것입니다. 자식은 부모의 특징과 기능을 상속받기 때문에 부모와 동일하게 취급될 수 있습니다. 자동 타입 변환 class A { } class B extends A { } B b = new B(); A a = b; a == b //true 부모 타입으로 자동 타입 변환된 이후에는 부모 클래스에 선언된 필드와 메소드만 접근 가능합니다. public class Parent { void method1() { ... } void meth..
상속에 대해(1)
·
BackEnd/JAVA 공부
상속이란? 객체 지향 프로그램에서 상속은 부모 클래스의 필드와 메소드를 자식 클래스에게 물려주는 것입니다. 이렇게 부모 클래스의 필드와 메소드를 자식 클래스가 상속받아 쓰는 것입니다. 이때 자식 클래스에는 또 다른 필드와 메소드가 들어갈 수 있습니다. 상속의 장점 코드 재사용 : 상속을 통해 부모 클래스의 속성과 메서드를 자식 클래스로 물려받을 수 있습니다. 이로 인해 부모 클래스의 코드를 중복해서 작성하지 않고도 자식 클래스에서 해당 코드를 활용할 수 있습니다. 확장성 : 상속을 통해 기존 클래스를 확장하여 새로운 클래스를 정의할 수 있습니다. 새로운 클래스에서는 부모 클래스의 기능을 유지하면서 추가적인 속성과 메서드를 정의할 수 있습니다. 다형성 : 상속은 다형성을 가능하게 합니다. 부모 클래스 타입..
메모리 사용 영역에 대해
·
BackEnd/JAVA 공부
데이터 타입 분류 데이터 타입에는 기본 타입과 참조 타입으로 분류된다. 기본 타입(primitive type)에는 정수 타입(byte, char, short, int, long), 실수 타입(float, double), 논리 타입(boolean)이 있다. 내가 오늘 공부해 볼 것은 참조 타입이다. 참조 타입은 객체 지향적 프로그래밍의 핵심이다. 참조 타입은 객체의 번지를 참조하는 타입으로 배열, 열거, 클래스, 인터페이스 타입이 존재한다. 기본 타입 변수 VS 참조 타입 변수 기본 타입 변수는 값이 저장됨. 참조 타입으로 선언된 변수는 객체가 생성된 메모리 번지를 저장한다. 참조 타입 변수는 stack 영역에 존재하고 heap 영역에 객체 주소에 내용을 가져옵니다. 메모리 사용 영역 저번에 JVM을 공부..
디펜스 게임 (프로그래머스) JAVA
·
BackEnd/알고리즘 공부
https://school.programmers.co.kr/learn/courses/30/lessons/142085# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 각 라운드 마다 적의 수를 알려줄 때 무적권을 적절하게 잘 사용해서 최대한 많은 라운드를 처리해야 합니다. 예를 들어 4,4,5를 무적권을 사용해 처리하고 2,3을 병사로 처리하면 병사는 2명 남습니다. 다음 라운드에 3명의 적이 오므로 라운드를 해결할 수 없으므로 최대 5라운드 까지 처리 가능합니다. 문제에 대한 아이디어 제일 처음 생각한 방법은 enemy를 정렬해서 k 번째 큰 ..
Java 8, 11, 17
·
BackEnd/JAVA 공부
JAVA 8, 11, 17 코딩테스트를 보면 java 8 이상이라는 말이 많다. 프로젝트를 할 때도 java8, 11, 17을 사용하는 경우가 많습니다. 자바에는 여러 버전이 있지만 그중 8, 11, 17을 제일 많이 사용합니다. 왜냐하면 이 3개의 버전이 LTS(Long Term Support)이기 때문입니다. LTS란 이 버즌은 출시 이후 8년간 보안 업데이트와 버그 수정을 지원해 준다는 뜻입니다. java 8 : 2030년 12월 java11 : 2026년 9월 java17 : 2029년 9월 이레서 java8 대신 사용하는 것이 java11이 아닌 java17입니다. 자바 8 (Java 8) 32bit를 지원하는 마지막 공식 Java 버전 오라클이 자바 인수 후 출시한 첫 번째 LTS 버전 Ora..
JVM, JRE, JDK에 대해서
·
BackEnd/JAVA 공부
자바 프로그래밍은 크로스 플랫폼을 지원하기 위해 자바 가상 머신(JVM), 자바 실행 환경(JRE), 자바 개발 도구(JDK) 세 가지 중요한 구성 요소를 갖추고 있습니다. 크로스 플랫폼 다양한 운영체제나 하드웨어 환경에서 동작할 수 있는 소프트웨어나 기술을 의미합니다. 이는 하나의 소프트웨어가 여러 플랫폼에서 동일한 기능과 동작을 제공할 수 있음을 의미합니다. 전통적으로 각 운영체제는 자체적인 시스템 구조와 API를 가지고 있기 때문에, 한 운영체제에서 작성된 소프트웨어가 다른 운영체제에서 직접 실행되지 않는 경우가 많았습니다. 이러한 특성 때문에 개발자들은 여러 플랫폼을 지원하기 위해 각각의 운영체제에 맞게 별도의 코드를 작성해야 했습니다. 크로스 플랫폼 접근 방식은 이러한 문제를 해결하기 위해 등장..