분류 전체보기 501

자바 형변환

자동적인 형변환 컴퓨터에서는 산술적인 연산을 하기 전에 피연산자의 타입을 통일하여야 한다. 컴퓨터에서 정수 계산하드웨어와 실수 하드웨어는 완전히 다르다. 수식을 계산할 때는 가장 범위가 넓은 피연산자의 타입으로 변환된다. ex) double sum = 1.5 + 12; // 1.5 + 12.0으로 변환된다. 강제적인 형변환 강제적인 형변환을 하려면 형변환 연산자를 사용한다. 변환하려는 값의 앞에 원하는 자료형을 적어주면 된다. ex) int x = 3; double y = (double) x; 또한 더 작은 크기의 자료형에 값을 저장하는 형변환은 정보를 잃을 수 있다. 이러한 변환을 축호 변환이라고 한다. ex) i = (int) 12.5; // i에는 12만 저장

자바 자료형의 종류

자바에서는 크게 나누어서 기초형(primitive type)과 참조형(reference type)의 자료형이 있다. 기초형 정수형 : byte, short, int, long 실수형 : float, double 문자형 : char 논리형 : boolean 기초변수 : int, double, char등(자료형)으로 선언된 변수를 기초 변수라 합니다. 기초 변수는 할당 메모리에 저장되는 데이터가 저장된다.(이것이 참조변수와 차이점이다.) 참조형 : 실제 객체를 가리키는 주소 저장(클래스, 인터페이스, 배열 등등..). 객체는 따로 만들어진다. 참조 변수 : 참조 변수가 바로 객체이다. 참조 변수는 기초 변수와 차이가 있는데, 참조 변수는 주소값이 저장된다. 즉, 처음 객체를 선언해서 초기화를 하면 해당 객체..

java/자료형 2019.04.08

자바 배열

예를들어 1부터 10까지의 숫자들 중 홀수들의 모임은 1,3,5,7,9 라는 집합을 이라고 해보자. int[] odds = {1,3,5,7,9}; 이렇게 표현할 수있고, 배열은 자료형 타입 바로 앞에 [ ] 기호를 사용하여 표현한다. 배열의 길이는 고정되어 있다. String[] weeks = new String[7]; weeks[0] = "월"; weeks[1] = "화"; weeks[2] = "수"; weeks[3] = "목"; weeks[4] = "금"; weeks[5] = "토"; weeks[6] = "일"; 배열의 길이만 설정하여 변수를 먼저 생성한 다음 그 값은 나중에 대입하는 방법이다. 단, 위 예처럼 초기값 없이 배열 변수를 만들때에는 반드시 길이값이 필요하다. String[] weeks ..

java/자료형 2019.04.07

인스턴스 멤버 vs 정적 멤버(static member)

클래스 멤버는 인스턴스 멤버와 정적 멤버로 나누어진다. 인스턴스 맴버와 같은 경우는 동일한 클래스를 이용하여 많은 객체들이 생성될때 각각의 객체(인스턴스)들은 자신만의 필드를 가진다. 이들 필드는 인스턴스 마다 별도로 생성되기 때문에 인스턴스 변수(instance variable)라고도 한다. 각 객체는 이들 변수에 대하여 독립적인 기억 공간을 가지고 있으며 각기 다른값을 가지고 있다. (콘솔창에 출력된 값을 보면 Dog@15db9742 등등 각각 다른 특이한 값이 나오는데 이것이 주소값이다. 즉 이 뜻이 독립적인 기억공간을 가지고 있는 것이고 각기 다른값을 가지고있다는 뜻이다.) 정적 변수(class variable)는 클래스 당 하나만 생성되는 변수이다. 정적 변수를 만들려면 변수를 정의할 때 앞에 ..

접근자와 설정자

객체 지향 방법의 개념 중에 정보은닉(Information hiding)이 있다. 정보 은닉이란 구현의 세부 사항을 클래스 안에 감추는 것이다. 대표적인 것이 클래스 안의 데이터를 외부에서 마음대로 변경하지 못하게 하는 것이다. 따라서 클래스 안에 변수를 선언할 때는 private을 붙이는 것이 좋다. private를 붙이게 되면 외부로부터의 접근이 차단된다. 그렇기 때문에 이 경우에는 어떤 특수한 메소드가 있어 이들 메소드가 데이터값을 읽어서 외부로 전달해주면 좋을 것이다. 필드와 관련된 두 가지의 종류의 메소드가 있다. 하나는 필드값을 반환하는 접근자(getters)이고 또 하나는 필드값을 설정하는 설정자(setters)이다. 이러한 메소드는 대게 get이나 set이 메소드 이름 앞에 붙여진다. 예를..

java 2019.04.07

안드로이드(Android),자바(JAVA) 소수점 자르기

안드로이드, 자바(Android, JAVA) 소수점 자르기 예제입니다. 간단한 구문이므로 별도의 실행화면은 캡쳐하지 않았습니다. double numnber = 77.7777; String num = String.format("%.1f" , number); system.out.println("number="+number) //number = 77.7 %.1f 의 숫자를 변경하면 자르고자 하는 자릿수를 설정할 수 있습니다. 예를들어 %.2f로 한다면 결과는 77.77가 되겠습니다. 출처: https://h5bak.tistory.com/127 [이준빈은 호박머리]

java 2019.04.06

Final 정리

final 변수 - 해당 변수가 생성자나 대입연산자를 통해 한번만 초기화 가능함을 의미한다. 상수를 만들 때 응용한다. final 메소드 - 해당 메소드를 오버라이드하거나 숨길 수 없음을 의미한다. final 클래스 - 해당 클래스는 상속할 수 없음을 의미한다. 문자 그대로 상속 계층 구조에서 '마지막' 클래스 입니다. - 보안과 효율성을 얻기 위해 자바 표준 라이브러리 클래스에서 사용할 수 있는데, 대표적으로 java.lang System, java.lang.String 등이 있다. 몇가지 세부 분석 1. final 맴버 면수가 반드시 상수는 아니다. 왜냐하면 final 의 정의가 '상수이다'가 아니라 '한번만 초기화 가능하다'이기 떄문이다. 참고: https://djkeh.github.io/artic..

접근 제어 & 접근 지정자

접근 제어 - Public = 공용이라는 의미이므로 public을 맴버 앞에 붙이면 누구나 자유롭게 접근할 수 있는 멤버가 된다. - Private = 전용이라는 의미이므로 private를 붙이면 클래스 안에서만 접근이 가능한 맴버가 된다. - 없음 = 맴버 앞에 접근 지정자가 없으면 디폴트(default)로 동일한 패키지 안에서만 접근이 가능하게 된다. 패키지(Package)란 서로 관련된 클래스들을 하나로 묶은 것이다. - Protected = 키워드를 붙이면 멤버는 부모 클래스와 자식 클래스만이 접근할 수 있다.(상속은 아직 학습하지 않았다.) 접근 지정자 클래스 패키지 자식 클래스 전체 세계 public O O O O protected O O O X 없음 O O X X private O X X X..

java 2019.04.06