728x90
반응형

Java 입문 15

J2EE, JDK, JRE, J2SE 차이

1. JRE : JVM이 실행될 수 있도록 도와주는 역할을 하는 파일로 주로 "사용자"가 사용한다. 그리고 JDK와 별도로 설치가 가능하다. 2. JDK : "개발자"를 위한 파일로 자바 소스코드를 직접 입력할 수 있다. JDK를 설치하면 JRE와 JVM가 함께 설치되어 직접 입력한 자바 소스 코드를 실행시킬 수 있다. 3. J2SE(Java 2 Standard Edition) [ 기본적인 Java의 개발/실행 환경으로 Java언어를 이용하여 어플리케이션(Application), 애플릿(Applet) 그리고 컴포넌E트(Component) 등을 개발하고 실행할 수 있는 환경을 제공하는 플랫폼이다. ] 어떠한 Java프로그램을 개발하더라도 J2SE설치는 필수이며 SDK, RE, Plugin 기술등으로 구성된..

Java 2020.05.13

값의 종류와 표현 방법.

4가지 값의 종류. - 정수값 - 실수값 - 문자값 - 진리값 ( 0, 1로 표현을 하는 곳도 있다.) 1. 정수값. 26 - 10진수 (0x)1a - 16진수 (0)32 - 8진수 (0b)11010(2신수) --> 진법을 달리하였을 뿐이지 모두 숫자 26을 나타내는 표현이다. (괄호 안의 숫자 0과 영문 표기는 필히 붙여서 다른 진법임을 구분하여야 한다.) 컴퓨터에서는 유한한 자원의 물리적인 장치를 통해서 숫자를 표현해야 한다. 하여 사용 가능한 크기만큼 활용할 수 있다. 자바에서는 정수를 32비트로 표현할 수 있으며 전구를 32개 껐다켰다를 반복하며 관리할 수 있다. 8비트는 1바이트이며 전구를 8개씩 묶어서 4개 묶음으로 관리하면 4바이트로 정수를 표현할 수 있다. 그 이상의 비트를 필요로 한다면 ..

IT 유용한 정보 2020.05.10

If문 return.

void doCommandDetail(int id) { System.out.println("== 게시물 상세 =="); Article article = getArticleById(id); if ( article == null) { System.out.println("해당 게시물은 존재하지 않습니다."); return; } System.out.printf("번호 : %d\n", article.id); System.out.printf("날짜 : %s\n", article.date); System.out.printf("제목 : %s\n", article.title); System.out.printf("내용 : %s\n", article.body); } if 문 마지막에 return; 을 입력해주고 바로 밑에 ..

Java 2020.05.08

다형성(Polymorphism)

자바에서는 한 타입의 참조 변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 그래서 부모 클래스 타입의 참조 변수로 자식 클래스의 인스턴스를 참조할 수 있다. 그러나 같은 타입의 인스턴스라도 참조 변수의 타입에 따라 사용할 수 있는 멤버의 개수가 달라진다는 점에 주의해야 한다. 부모 클래스 타입의 참조 변수로 자식 클래스의 인스턴스를 참조하게 되면 부모 클래스에 정의된 멤버들(상속받은 멤버 포함)만 사용할 수 있게 되고 반대의 경우(자식 클래스 타입의 참조 변수로 부모 클래스의 인스턴스를 참조하는 것)는 불가능하다. 자식 클래스의 멤버는 부모 클래스를 확장한 것이기 때문에 부모 클래스보다 같거나 더 많기 때문이다. 부모 클래스에 없는 멤버를 사용할 가능성이 있어서 ..

Java 2020.05.05

JVM, GC

* JVM : Java Virtual Machine ( 자바 가상 머신 ) * GC : Garbage Collector ( 가비지 컬렉터 ) JVM은 작성한 자바 프로그램이 수행되는 프로세스를 의미한다. 다시 말해 java라는 명령어를 통해서 애플리케이션이 수행되면, 이 JVM 위에서 애플리케이션이 동작한다. 이 JVM에서 여러분들이 작성한 프로그램을 찾고 실행하는 일련의 작업이 진행된다. 자바의 기본 메모리 관리는 개발자가 하지 않아도 된다. 메모리 관리를 JVM이 알아서 하기 때문이다. 이때 JVM 내에서 메모리 관리를 해주는 것을 바로 "가비지 컬렉터"라고 부른다. Garbage는 우리나라말로 "쓰레기"라는 의미이며, 사용하고 남아 있는 전혀 필요 없는 객체들이 여기에 속한다. 아무리 가비지 컬렉터..

Java 2020.05.03

메모리 구조

자바 프로그램이 실행될 때, *JVM은 *OS로부터 필요한 메모리를 할당 받음. 메모리가 낮은 순으로 클래스, 클래스 변수 -> 객체 인스턴스 -> 메서드, 지역변수, 매개변수 순 클래스, 클래스 변수(메소드 영역) / 객체 인스턴스(힙 영역) / 메서드, 지역변수, 매개변수(스택 영역) 메서드 영역 - 클래스 사용 시, 해당 클래스의 클래스 파일(. class)을 읽고, 그 정보를 메서드 영역에 저장. 힙 영역 - 자바에서 사용되는 모든 인스턴스가 저장되는 영역. new 키워드를 사용해서 만든 객체 생성 시, 힙 영역에 저장한다. 스택 영역 - 메서드가 호출될 때 메소드의 스택 프레임이 저장되는 영역. - JVM은 메소드가 호출되면, 메소드 호출과 관계되는 지역 변수 및 매개변수를 스택 영역에 저장. ..

Java 2020.05.03

자바 언어의 특징.

자바는 c++언어에서 파생된 언어. 1. 객체 생성과 제거를 모두 개발자가 하다 보니 제거하지 못한 객체의 메모리가 쌓여가서 불편함을 겪음. --> 이에 자바는 delete 키워드를 제거함. 2. 참조변수와 포인트 변수가 있었는데 객체의 포인터 변수를 제거함. 3. 이차 이상의 포인터 문제를 해결하기 위해서 모든 포인터를 제거함. 4. 데이터 구조를 정의하는 두 가지 방법으로 클래스와 struct 2가지가 있었는데 struct 키워드를 제거함. 5. c++은 함수지향, 객체지향 모두 가능하지만 자바의 함수는 메서드로만 사용하도록 제약하여 캡슐화하도록 한다. 완전한 객체지향으로 바뀌었다. 6. 컬렉션의 부재 --> 자바는 언어에 컬렉션을 포함. 7. 글로벌한 문자 ..

IT 유용한 정보 2020.05.03

자바 프로그래밍.

자바 프로그래밍이란? 절차를 구현할 능력을 갖는 것. 프로그램은 동작하는 것은 똑같지만 구조적으로 만드느냐 객체지향으로 만드느냐로 나뉜다. 객체지향 프로그래밍. OOP(Object Oriented Programing) 의 기본 컨셉은 프로그램 내에서 표현하고자 하는 실 세계(real world)의 일들을 객체로 사용해서 모델링 하고, 객체를 사용하지 않으면 불가능 혹은 무지 어려웠을 일들을 쉽게 처리하는 방법을 제공한다는 것입니다. 객체는 당신이 모델링하고자 하는 일이나 기능 혹은 필요한 행동들을 표현하는 프로그램 코드와 그와 연관된 데이터로 구성됩니다. 객체는 데이터(그리고, 함수 역시)를 감싸서 (공식적인 표현으로는 encapsulate) 객체 패키지 (해당 객체를 참조하기 위한 이름. namespa..

IT 유용한 정보 2020.04.30

함수(메소드, 기능)

메인 메소드(main Method). 우리가 흔히들 말하는 메인 함수. 메소드란? 객체에 대한 동작을 의미. 메인 메소드란? 자바 프로그램을 실행할 때의 시작 지점을 의미. * 작성법 : public static void main(String[] args) { } * 구성 : public, static, void, (String[] args) 1. Why main mehtod is public in Java? 메인 메소드는 왜 public인가? - public은 자바 접근제한자 중에 하나이다. (아래로 갈수록 점점 제한이 많아지게 되는 순서) public : 모든 클래스에서 접근이 허용 protected : 같은 패키지(폴더)에 있는 클래스와 상속관계의 클래스들만 허용 default : 같은 패키지 내에..

Java 2020.04.28

상속과 구성

상속(Inheritance) 우리가 생각하는 상속이라는 단어가 맞다. 현실 세계에서 부모님이 자식들에게 재산을 물려주는 것과 비슷하다. 차이라고 하면 자식(클래스)이 상속받고 싶은 부모(클래스)를 선택해서 물려받는다. 이때 상속받는 클래스를 자식 클래스, 하위 클래스 또는 서브 클래스라고 부른다. 상속을 해주는 클래스를 부모 클래스, 상위 클래스 또는 슈퍼 클래스라고 한다. 상속의 대상 자식 클래스가 부모 클래스로부터 상속을 받게 되면 부모 클래스의 필드와 메서드를 물려받게 된다. 단, 접근제어자가 private을 갖는 필드나 메소드는 상속이 불가하고, 패키지가 다를 경우 접근제어자가 default인 경우도 상속이 불가하다.(접근제어자에 대한 내용은 별도 포스팅 예정) 상속의 장점 상속의 장점은 처음에 ..

Java 2020.04.28
728x90
반응형
LIST