반응형

개발/Java 62

[Java] Java 문법 예제 및 문제

1. 다음 프로그램의 출력 결과를 쓰고, 오류가 발생하면 그 원인을 기술하시오 class CC1{ int a = 100; static String b = "파이팅 자바"; } class CC2 extends CC1{ String b; String x = "쉬운 자바"; } public class InTest{ public static void main(String args[]){ CC2 o = new CC2(); System.out.println(o.x); System.out.println(o.b); System.out.println(o.a); System.out.println(CC1.b); } } /* 쉬운 자바 null 100 파이팅 자바 */ 2. 다음 프로그램은 오류가 발생하는데 이 위치와 원인을..

개발/Java 2015.11.03

[Java] 비트 연산자와 시프트 연산자

비트 연산자와 시프트 연산자 § 비트 연산자란?: 컴퓨터 내부의 데이터를 비트(bit) 단위로 비교하거나 조작할 때 사용한다. ~ 1의 보수(부정) ^ XOR(배타적 논리합) 비트 연산자 | OR(논리합) 비트 연산자 & AND(논리곱) 비트 연산자 오른쪽 시프트 연산자 § 비트 연산자 (부정, 논리곱, 논리합, 배타적 논리합) 예시A = 0001 1001 1011 1111B = 0110 1011 1110 0000 ~A = 1110 0110 0100 0000~B = 1001 0100 0001 1111 A^B = 0111 0010 0101 1111A|B = 1111 0110 0101 1111A&B = 1000 0100 0000 0000 § 시프트 연산: 비트 연산자의 한 종류로서 비트를 좌, 우로 이동하는..

개발/Java 2015.11.03

[Java] 자바 클래스 한정자

public : public 한정자는 모든 클래스에서 접근 가능(클래스로부터 객체 생성 가능)함을 의미한다. final : final은 하위 클래스를 가질 수 없는 클래스를 의미한다. 즉 final로 선언된 클래스로부터는 새로운 클래스가 상속되어 생성될 수 없음을 의미한다. 현재의 클래스를 다른 클래스에서 상속받지 못하도록 하는 것은 정보의 보호 측면에서 유용하다. abstract :추상(abstract) 클래스를 의미한다. 추상 클래스는 객체를 생성할 수 없는 클래스로서 추상 메소드를 가진다. 한정자를 지정하지 않은 경우 : 클래스 앞에 어떠한 한정자도 지정하지 않은 클래스는 같은 패키지 내의 클래스에서만 접근 가능함을 의미합니다. 패키지는 비슷한 기능을 하는 클래스들을 모아 놓은 것을 의미한다.

개발/Java 2015.11.03

[Java] 자바 클래스 멤버

자바 클래스 멤버 설명 멤버 변수 : 클래스에서 속성을 나타내는 변수를 멤버 변수라고 한다. 멤버 변수는 클래스에서 메소드나 생성자 외부에서 선언된 변수들을 의미합니다. 멤버 변수는 크게 객체 변수와 클래스 변수, 종단 변수로 나누어진다 생성자 : 클래스는 속성과 기능으로 구성된다고 설명했는데 클래스에서 기능을 담당하는 대표적인 것은 바로 다음 절에서 기술할 메소드다. 생성자는 메소드와 비슷하지만, 주로 객체의 초기화 과정을 수행하는데 사용. 생성자를 생성자 메소드라고 부르기도 한다. 생성자는 클래스로부터 객체가 생성될 때 수행되는데 주로 객체의 초기화를 위해 사용한다. 생성자는 반드시 클래스의 이름과 동일한 이름으로 정의해야하며, 생성자는 메소드와는 달리 반환되는 형을 지정하지 않는다. 클래스를 정의할..

개발/Java 2015.11.03

[Java] 자바 객체지향 프로그래밍 언어 특징

객체 지향의 개념 실 세계의 개체(Entity)를 속성(Attribute)과 메소트(Method)가 결합된 형태의 객체(Object)로 표현하는 개념, 객체간의 메시지 통신을 통해 시스템을 구현하는 개발 방법 객체지향 방법론의 특징- 재사용성, 유지보수성, 이식성- 모형의 적합성 : 현실세계 및 인간의 사고방식과 유사- 일관성, 추적성 : 전체 공정에서 각 단계간의 전환과 변경이 자연스럽고 신속 함 객체지향의 기본 구성요소 및 개념 클래스(Class)- 같은 종류(또는 문제 해결을 위한)의 집단에 속하는 속성(Attribute)과 행위(Behavior)를 정의 한 것- 객체지향 프로그램의 기본적인 사용자 정의 데이터형(user define data type)- 클래스는 프로그래머가 아니지만 해결해야 할 ..

개발/Java 2015.11.03

[Java] 자바 JVM 메모리 구조

JVM이 사용하는 메모리 영역 프로그램이 실행되면, JVM은 OS으로부터 이 프로그램이 필요로 하는 메모리를 할당받고, JVM은 이 메모리를 용도에 따라 여러 영역으로 나누어 관리한다. Runtime Data Area : JVM이 프로그램을 수행하기 위해 OS에서 할당 받은 메모리 영역 Runtime Data Area 에는 크게 다섯 가지 영역으로 나뉘게 된다. 바로 PC Register, Java Virtual Machine Stacks, Native Method Stacks, Method Area, Heap 이다. 각 쓰레드 별로 생기는 영역은 PC Register, Java Virtual Machine Stacks, Native Method Stacks 이고, 모든 쓰레드가 공유하는 영역은 Meth..

개발/Java 2015.11.03

[Java] 자바 Dead Code 란?

1. DEAD CODE § Dead Code가 뭘까?: 이클립스의 'Dead code'란 전혀 실행되지 않는 코드를 의미한다. 일반적으로 조건에 따른 분기문에서 발생한다.dead code는 이클립스 IDE 가 성능이 너무 좋아서 나오는 경고라고 하셨다. (2시간마다 든 자바시간에 오시는 선생님께서 하시는 말씀을 인용하자면 말이다.) § Dead Code 예시1. 변수를 선언하여 변수를 사용하지 않았을 시 dead code 라고 경고표시가 나옵니다.2.int val = 0;if(val > 0){} //Dead codeelse{} //항상 실행된다. 여기서 변수 val은 항상 값이 0 이기 때문에 if(val>0)의 조건은 항상 false 가 된다. 따라서 true일 때 실행할 코드는 dead code 가 ..

개발/Java 2015.11.03

[Java] Java 돈을 종류별로 나타내는 예제

돈을 입력받아 금액에 해당하는 돈을 종류별로 나타내는 프로그램을 작성하시오.package money; import java.util.Scanner; public class money { public static void main(String[] args){int money;int m_10000,m_1000,m_500,m_100,m_10,m_1;System.out.println("돈을 종류별로 나누어줍니다.");Scanner in = new Scanner(System.in);System.out.print("돈을 입력해주세요.");money = in. nextInt();System.out.println("당신의 돈은 현재" + money + "만큼 가지고 있습니다.");m_10000 = money / 100..

개발/Java 2015.11.03

[Java] C++RAII 에 대해서

자바의 모체는 C++이다. 그러나 C++에는 자바의 Finally(예외를 처리해 주는 문법)이 없다. 그렇다면 C++ 에서는 어떤 방법으로 예외를 처리할 수 있을까? 바로 RAII라는 방법이다. 이는 자원 획득, 곧 초기화라는 뜻으로 해석되며 자원 관리에 대하여 다루고 있다. RAII란 특정한 *리소스를 사용하고 예외나 중간에 갑자기 종료되더라도 리소스의 반환을 보장해 주는 기법이다. 대표적으로 shared_ptr, unique_ptr 등의 *스마트 포인터가 있다.

개발/Java 2015.11.03
반응형