JAVA

· JAVA
Scanner 콘손 입력을 받기 위한 클래스(객체정의) 한라인 입력받기 함수 : .nextLine(); 공백까지 입력받기 함수 : .next(); 참고) nextInt() , nextDouble() ... 일반적인 문장 키보드로 입력받기 Scanner scanner = new Scanner(System.in); 만약 String 형식에서 while문에서 빠져 나오려면? ( == ) : 불가 .equals : 사용가능 Scanner scanner = new Scanner(System.in); String inputData; while (true) { inputData = scanner.next(); // TODO: 코드를 완성하세요 (입력된 문자열이 q가 들어오면 반복문을 종료) // TODO: 자바의 문..
· JAVA
문자열 ~ > 다른 자료형으로 변환 Integer.parseInt() Integer.valueOf() 문자열 ~> 정수 int value1 = Integer.parseInt("10"); // 또는 int value = Integer.valueOf("10"); Double.parseDouble() 문자열 ~> 실수 double value2 = Double.parseDouble("1.321"); Boolean.parseBoolean() 문자열 ~> Boolean boolean bool = Boolean.parseBoolean("true"); charAt() 문자열 ~> Character char ch = 문자열.charAt( 인덱스 ) getBytes() 문자열 ~> byte 배열 byte[] b..
· JAVA
1bit : 최소단위 , 8bit = 1byte , 1024byte = 1KB 1024KB = 1MB 1024MB = 1GB 1024GB = 1TB 1024TB = 1HB 2진수 표현 : 0b 8진수 표현 : 0 10진수 표현 16진수 표현 : 0x int var1 = 0b1011; // 2진수(0b) int var2 = 0206; // 8진수 (0) int var3 = 365; // 10진수 int var4 = 0xB3; // 16진수 (0x)
· JAVA
Object 클래스 ● 모든 클래스의 최상위 클래스이다 ● 모든 클래스들은 import extends 가 없어도 Object 클래스가 상속이 되어있다 따라서 우리는 Object클래스의 메서드를 사용하고 있었는데 그중 재정의 할 수 있는 2가지 toString(), equals(Object obj) 를 알아보자 toString() toString 메서드는 이렇게 표시 되어있다 리턴 타입 String 으로 클래스와 이름을 가져와서 @ 해쉬태그(주소값)을 리턴해준다. 한마디로 주소값을 리턴하준다는 것인데.. 우리는 final 이 없기 때문에 재정의가 가능하다. Book이라는 클래스를 생성해서 bookId , title , author 멤버변수를 만들었다면 오버라이딩을 통해 책의 번호 , 제목 , 저자를 반환시..
· JAVA
인터페이스란? 구현된 것이 아무것도 없는 밑그림만 있는 기본 설계도이다. 특징 멤버 변수, 일반 구현 메서드를 가질수 없다. == 추상메서드와 상수만을 멤버로 가질수 있다. 인터페이스는 표준, 약속(강제성있는 규칙), 규약을 의미한다. 추상클래스보다 추상화가 더 높다. ​ ★ 주의! ★ ● 모든 메서드가 추상 메서드로 선언됨 public abstract ● 모든 변수는 상수로 선언됨 public static final ● public abstract는 생략이 가능하다 ( = 컴퓨터가 자동으로 넣어줌) implements를 사용해 구현이 가능하다 또한 여러 인터페이스를 ,(콤마)를 통해 구현이 가능하다. ( = 다중구현이 가능하다) 인터페이스 정의와 구현 인터페이스 구현과 형 변환 ● 인터페이스를 구현한 ..
· JAVA
String String pool영역에 들어간다 값이 자주 변경되면 메모리 낭비가 심하다. StringBuffer 문자열 연산이 많고 멀티 쓰레드 환경에서 활용하기 좋은 녀석이다. heap영역에 들어간다 값이 변경되도 메모리 낭비가 없다. StringBuilder 문자열 연산이 많고 단일 쓰레드 환경에서 사용하기 좋은 녀석 heap영역에 들어간다 값이 변경되도 메모리 낭비가 없다. StringBuffer를 알아보자 constructor 요런 얘들이 있다고 하니 나는 string형을 넣어보겠다. 여러 Method 중 append(추가)라는 Method를 사용해서 바다 뒤에 char형식으로 추가를 시켜보자 라는 결과를 출력할 수 있다. 일단 바다ABC는 StringBuffer 참조타입인 것인데 String ..
· JAVA
여러 데이터 영역의 종류는 STACK HEAP STATIC 상수 풀 영역 이있다 상수 풀 영역 ● 만약 String 문자열로 장대하게 많은 양이 모였을 시 계속 쌓이는 것이 아니라 ● str1과 str2가 같은 문자열이 이라면 주소값도 같아지게 하여 메모리가 부족한 것을 보안해주는 영역이다. ex ) String str1 = " hellow"; int number1 = 100; int number2 = 20; 이라면 ex 2 ) String str1 = "반가워"; String str2 = new String("반가워"); String str3 = "반가워"; 라면 str1과 str2는 주소값이 다르다는것은 알 수 있을 것이니 str1과 str3를 알아보자 결과는? 네 같아요 상수 풀 영역에 들어가 있기..
· JAVA
추상클래스 ● 추상메서드가 하나라도 있으면 추상 클래스가 된다. ● 추상메서드는 하위 클래스에서 Override를 통해 이것은 니가 정의를 내려라는 뜻이다. ● 하위 클래스에서 재정의(Override)를 하지 않으면 하위클래스도 추상 클래스가 된다 ● 주의! 추상클래스는 new(인스턴스화) 할 수 없다!! 키워드 - abstract 추상클래스는 왜 쓰는걸까? 알아 보기 위해서 템플릿메서드를 알아보자 템플릿 메서드 ​ ● 추상 메서드나 구현 된 메서드를 활용하여 코드의 흐름(시나리오)를 정의하는 메서드 ● final로 선언하여 하위 클래스에서 재정의 할 수 없게 함 ★ ● 프레임워크에서 많이 사용되는 설계 패턴 ● 추상 클래스로 선언된 상위 클래스에서 템플릿 메서드를 활용하여 전체적인 흐름을 정의 하고 하..
· JAVA
다형성에 대해 알아보자 그전에 ㅎㅎ instanceof ● 이 데이터 타입이 니것이느냐~ true or fasle ● 방법 = 확인하고 싶은 객체 instanceof 객체타입 다형성 ● 하나의 코드가 여러 자료형으로 구현되어 실행되는 것 ● 같은 코드에서 여러 다른 실행 결과가 나옴 ● 정보은닉, 상속과 더불어 객체지향 프로그래밍의 가장 큰 특징 중 하나임 ● 다형성을 잘 활용하면 유연하고 확장성있고, 유지보수가 편리한 프로그램을 만들수 있음 ex ) 참조클래스[] ... = new 부모객체클래스[배열갯수] 참조클래스[0] = new 자식객체클래스(매개변수); ... 결과 ↓ 업 캐스팅과 다운 캐스팅 업캐스팅(Up casting) 이란? ● 하위 클래스의 객체를 상위 클래스 타입을 변환하는것 ● 이 경우..
· JAVA
상속 (inheritance) 말 그대로, 부모(상위)의 클래스를 자식(하위)클래스가 상속 받는 것이다. 상속하는 클래스 : 상위 클래스,parent class, super class 상속받는 클래스 : 하위 클래스, child class, sub class 상속을 구현하는 경우 상위 클래스는 하위 클래스보다 더 일반적인 개념과 기능을 가진다. 하위 클래스는 상위 클래스보다 더 구체적인 개념과 기능을 가진다 == 한마디로? 자식이 더 쌘놈이다!! extends 키워드로 구현가능 생성자 부모 클래스를 상속받은 자식 클래스가 있다면 자식클래스를 heap 메모리에 올렸을때 부모의 생성자가 먼저 호출되고 자식 생성자가 호출되는 것을 확인할 수 있다!! 부모의 클래스 메서드 호출 가능하다. 다만 여기까진 알지만 ..
· JAVA
변수 클래스 메서드 함수의 이름을 짓는것은 매우 중요하다. 이름 짓는 법 변수 , 클래스 - 명사 메서드 , 함수 - 동사 메모리 영역 STACK (정적 메모리 영역) HEAP (동적 메모리 영역) STATIC (데이터 영역) 배열 배열의 선언 1. 기본 자료형[] 변수 = new 자료형[크기]; 자료형 = 기본 자료형, 참조 자료형이 있다. 기본 자료형은 배열에 char, byte, int 등을 넣을 수 있고 참조 자료형은 주소값을 배열에 넣을 수 있다. 기본 자료형 배열 예시) 배열의 크기 예시로 int[] a = new int[5] 라고 했을때 int = 4byte * 5 = 20byte; = 20(byte) * 8(bit) = 160bit 이다. 인덱스 인덱스는 번호 0번부터 시작한다. 따라서 인..
· JAVA
데이터 메모리 영역 = static(정적인) 메모리 영역 -stack,heap 메모리영역에 올라가기 전에 static 메모리영역이 더 빨리 뜬다. 음.. 예시를 들어보자 첫번째 예시) 만약 은행에서 번호표를 뽑는다고 가정한다면 프린터기 1번에서 1번째 뽑은 번호와 프린터기 1123번에서 2번째 뽑은 번호가 같으면 안되겟지요오 따라서 static이라는 영역에 놓고 공유할수 있도록 설계합니다. == private 접근제어방식으로 클래스 변수인 waitNumber가 1로 초기화 되어있다. 따라서 waitNumber는 static 메모리영역에 들어가게 되며 그 안에는 1이라는 것이 들어가게 된다. 이 waitNumber변수는 공유가 가능하게 된다. 만약??? static을 뺀다면?? 결과는 두 개의 객체가 다르..
별이춤추는밤
'JAVA' 카테고리의 글 목록 (7 Page)