Java

객체 지향 언어의 역사 80년 초 소프트웨어의 위기 - 시대의 빠른 변화를 쫒아가기 어려움 해결책으로 절차적인 언어 방식에서 객체 지향 언어 방식을 도입하기 시작했다. 기존의 많이 사용하던 C에 객체 지향 개념을 얹은 C++이 탄생했다 하지만 C++의 학습은 생각보다 굉장히 어려웠고 객체 지향 개념이 퍼지지 못했다 그 후 90년대 C++에서 너무 어렵거나 잘 사용하지 않는 개념을 정리한 JAVA의 등장으로 객체 지향 언어를 보편화에 큰 영향을 끼침 객체 지향 언어 = 프로그래밍 언어 + 객체 지향 개념(규칙) 이다. 객체 지향 언어 객체 지향 언어는 코드의 재사용성이 높고, 유지보수가 용이하며, 중복 코드를 제거하는 기능이 많다. 특히 유지보수가 용이한것이 얼마나 좋은것이냐 하면 빠른 변화에 쉽게 대채할..
· Java
연산자와 피연산자 연산자 : 연산을 수행하는 기호 피연산자 : 연산자의 연산 수행 대상 연산자의 종류 종류 연산자 설명 산술 연산자 + - * / % 사칙 연산과 나머지 연산 비교 연산자 > = 비교 > 논리 > 대입 으로 대입이 가장 마지막이다 2. 단항(1) > 이항(2) > 삼항(3) 으로 단항 연산자의 우선순위가 이항 연산자보다 높다 3. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽 --------------------▶ 오른쪽 이다 증감 연산자 증가연산자(++) : 피연산자의 값을 1 증가 시킨다 전위형 : 값이 참조되기 전에 증가시킨다 ( j = ++i) 후위형 : 값이 참조 된 후에 증가시킨다 (j = i++) 감소 연산자(--) : 피연산자의 값을 1 감소 시킨다 전위형..
· Java
형식화된 출력 - println(), printf() println() 은 출력 형식을 지정할 수 없다 실수의 자릿수 조절불가 - 소수점 n자리까지만 출력하고 싶지만 기능이 없다 EX) System.out.println(10.0/3); = 3.33333333...... 10진수로만 출력된다 - 8진수, 16진수로 출력하고 싶은데... EX) System.out.println(0x1A); // 26 항상 줄바꿈을 한다 printf() 는 출력 형식을 지정할 수 있다 ln의 1번 예시는 이렇게 "%.2f" 를 사용하여 자릿수를 지정할 수 있다System.out.printf("%.2f", 10.0/3); = 3.33 ln의 2번 예시는 이렇게 "%x"를 통해 16진수로도 나타낼수 있다 System.out.pr..
· Java
변수 정보들을 저장할 수 있는 메모리 공간(RAM) 메모리 공간 하나의 메모리 공간을 1byte 단위로 나눈것이다. 메모리 주소 하나의 큰 메모리 공간안에 있 각각 저장공간을 뜻하는데 그 저장공간은 0부터 연속적인 숫자로 번호를 매긴다 하나의 메모리 주소에는 하나의 정보만이 저장되고 새로운 값을 저장하면 기존에 있던 정보는 지워진 메모리 주소 안에 저장되어 있는 정보를 사용하는데 문제는 우리가 그 정보를 사용하고 싶을때마다 메모리 주소의 번호를 기억해 내야한다 하지만 그 수를 일일히 기억해내는것은 굉장히 어려운 일이였고 사람이 기억하기 쉬운 방법을 만들었다 그 방법은 숫자로 이루어진 메모리 주소에 별칭을 붙여서 우리가 기억하기 쉽게 만들어내는것이다. 그 별칭을 변수라고 한다 변수의 선언 변수의 선언 이유..
· Java
특징 배우기 쉬운 편에 속한 객체지향언어 ( 프로그래밍언어 + 객체지향개념 ) 자동 메모리 관리 ( 가비지 컬렉터(GC)라는 것이 메모리를 자동으로 관리해준다 ) 멀티 쓰레드를 지원 ( 하나의 프로그램에서 동시에 여러가지의 작업을 할 수 있게 하는것 ) 풍부한 라이브러리로 쉽게 개발이 가능하다 운영체제에 독립적 ( 다른 운영체제에서도 사용이 가능하다 ) JVM(Java Virtual Machine - 자바 가상 머신) 자바 프로그램이 실행되는 가상 컴퓨터이고 한번 작성하면, 어디서든 실행할 수 있다 Java 애플리케이션 ▶ JVM ▶ OS (Windows) ▶컴퓨터 (하드웨어) Java API 문서 Java API Java로 프로그램을 만드는데 필요한 주요 기능을 미리 만들어서 제공하는 것 Java AP..
★ 다형성 여러가지 형태를 가질수 있는 능력 조상 타입 참조 변수로 자손 타입 객체를 다루는것 자손 타입의 참조 변수로 조상 타입의 객체를 가리킬수 없다 class Tv { boolean power; int channel; void power() { power = !power } void channelUp() { ++channel; } void channelDown() { --channel; } } class SmartTv extends Tv { String text; void caption() { // 내용내용... } } 지금까지 우리가 객체를 생성할땐 Tv t = new Tv(); SmartTv s = new SmartTv(); 이렇게 진행했다. 하지만 다형성은 다르다. Tv t = new Smar..
상속(Inheritance) 기존의 클래스로 새로운 클래스를 작성하는것( 코드의 재사용 ) 두 클래스를 부모와 자식으로 관계를 맺어주는것 class 자식 클래스 extends 부모 클래스 { // ... } class Parent {} class Child extends Parent { // ... } Child는 Parent를 상속받고 있다 이를 상속 관계라고 한다. 자손은 조상(부모의 부모)의 모든 멤버를 상속받는다. ( 생성자, 초기화블럭 제외 ) 이는 선택사항이 아니라 무조건 받아야한다. 자손의 멤버 갯수가 조상보다 적을 수는 없다. class Parent { int age; } class Child extends Parent { } 만약 이렇다면 Child이 가지고 있는 멤버는 부모(Parent..
늦은산책
'Java' 카테고리의 글 목록 (2 Page)