본문 바로가기
반응형

자바61

[Java] 자바 데이터 타입(자료형), 변수 그리고 배열 학습할 것 - 프리미티브 타입 종류, 값의 범위, 기본 값 - 프리미티브 타입과 레퍼런스 타입 - 리터럴 - 변수 선언 및 초기화 - 변수의 스코프와 라이프타임 - 타입 변환, 캐스팅, 타입 프로모션 - 배열 - 타입 추론, var 프리미티브 타입 종류, 값의 범위, 기본 값 · 기본 타입(primitive type)이란 정수, 실수, 문자, 논리 리터럴을 저장하는 타입 각 타입들의 메모리 사용 크기, 값의 범위, 기본 값 값의 종류 기본 타입 메모리 사용 크기 저장되는 값의 범위 기본값 정수 byte 1byte/8bit -2^7 ~ 2^7-1 0 char 2byte/16bit 0 ~ 2^16(유니코드:'\u0000 ~ \uffff') '\u0000' short 2byte/16bit -2^15 ~ 2^1.. 2021. 8. 18.
[Java] 가비지 컬렉션(GC)이란? 가비지 컬렉션(GC) JVM에서 더 이상 필요없는 객체를 찾아 지우는 작업 관련 용여 stop-the-world: GC 실행을 위해 JVM이 애플리케이션 실행을 멈추는 것으로, GC를 실행하는 쓰레드를 제외한 나머지 쓰레드는 모두 작업을 멈춤 GC 튜닝: stop-the-word 시간을 줄이는 것 가비지 컬렉터 설계시 가정된 것: weak generational hypothesis 1. 대부분의 객체는 금방 접근 불가 상태(unreachable)가 됨 2. 오래된 객체에서 젊은 객체로의 참조는 아주 적게 존재 Young 영역과 Old 영역 weak generational hypothesis(약한 세대 가설)의 장점을 최대한 살리기 위해 HotSpot VM에서 물리적 공간을 두 가지로 나는 방식 Young.. 2021. 8. 17.
[JAVA] 객체지향 - 다형성(Polymorphism) 다형성(Polymorphism)이란? 단어의 형태소를 분석해보면 poly(많은), morphs(형태)라는 뜻이다. 즉, 형태가 다양하다는 의미다. 위키피디아에서는 다형성을 다음과 같이 정의한다. 프로그래밍 언어의 자료형 체계의 성질을 나타내는 것으로, 프로그램 언어의 각 요소(상수, 변수, 식 , 오브젝트, 함수 등)들이 다양한 자료형(type)에 속하는 것이 허가되는 성질 자바에서 다형성은 대표적으로 두 가지 유형으로 나눌 수 있다. 1. 컴파일 타입 다형성 2. 런타임 타입 다형성 컴파일 타입 다형성 - 오버로딩 같은 이름의 메소드를 매개 변수의 개수 또는 타입을 변경하여 여러 개 사용 예시코드 class Animal{ public void move(){ System.out.println("동물이 움.. 2021. 8. 13.
[Java] 자바 상속의 특징 - extends, super, 오버라이딩, instanceof, 추상 클래스와 메소드, final 상속이란? 상속은 부모가 자식에게 물려주는 행위다. 객체 지향 프로그램에서도 부모(상위) 클래스의 멤버를 자식(하위) 클래스에 물려주어 자식 클래스가 갖고 있는 것처럼 사용할 수 있다. 상속의 장점 - 코드 중복 감소(이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만드므로) - 유지 보수 시간 감소(부모 클래스의 수정으로 모든 자식 클래스들의 수정 효과를 가져오기 때문에 ) 자바에서 상속을 구현하는 방법 : 자바의 extends 예약어 class 자식클래스 extends 부모클래스{ } 아래는 Computer 클래스와 이를 상속하는 Mac 클래스 코드다. public class Computer { int price; public void setPrice(int price){ this.price = .. 2021. 8. 12.
[Java] 접근 제한자(제어자) - public, protected, default, private [java] 접근 제한자 (제어자)- public, protected, default, private 클래스를 설계할 때 외부 클래스에서 접근할 수 있는 멤버와 접근할 수 없는 멤버로 구분해서 필드, 생성자, 메소드를 설계하는 것이 바람직하다. 그 이유로 다음과 같은 상황이 있을 수 있기 때문이다. 1. 특정 객체 생성을 막기 위한 생성자 호출 제한 2. 객체의 특정 데이터를 보호하기 위한 필드에 접근 제한 3. 특정 메소드 호출을 막기 위해 접근 제한자의 종류: public, protected, default(package-private), private ✅ public: 누구나 접근 public class Main(){ } ✅ protected: 같은 패키지 or 상속받은 경우 접근 protected.. 2021. 8. 12.
[Java] 자바의 패키지란? - package, import, 클래스패스, -classpath 옵션, CLASSPATH 환경변수, 접근지시자 package 키워드 package: - 클래스를 체계적으로 관리하기 위한 도구 / 클래스들을 구분 짓는 폴더 - 패키지의 물리적인 형태는 파일 시스템의 폴더 - 단순히 파일 시스템의 폴더 기능만 하는 것이 아니라 클래스의 일부분 - 클래스를 유일하게 만들어주는 식별자 클래스 이름이 동일해도 패키지가 다르면 다른 클래스로 인식한다. 또한 패키지 내부에 패키지를 둘 수도 있다. ' - 패키지와 클래스는 도트(.)를 사용해서 표시 상위패키지.하위패키지.클래스 패키지를 나타내는 코드 package week7.하위패키지; public class ClassName { } 패키지 이름 규칙 1. 숫자로 시작하거나, ‘_’ 과 ‘$’를 제외한 특수 문자를 사용 금지 2. java로 시작하는 패키지 금지(자바 표준 A.. 2021. 8. 12.
반응형