Java 기초 11

값의 종류와 표현 방법.

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

다형성(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

재귀 알고리즘 기초.

재귀(Recursion) 함수란 특정 함수 내에서 자기 자신을 다시 호출하여 문제를 해결해나가는 함수이다. 문제를 해결하기 위해 원래 범위의 문제에서 더 작은 범위의 하위 문제를 먼저 해결함으로써 원래 문제를 해결해나가는 방식이다. 일반 반복문을 통해 구현 가능한 기능은 재귀 함수를 통해 구현이 가능하며 반대로 재귀 함수로 구현 한 기능을 반복문으로 구현이 가능하다. 재귀 함수는 함수 내에서 자기 자신을 계속 호출하는 방식이기 때문에 함수 안에 반드시 종료 구간이 되는 Base Case를 생각하며 코드를 구현해야 한다.

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

상속과 구성

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

Java 2020.04.28
728x90
반응형
LIST