본문 바로가기

Programming Language13

[Java] String 비교 방법 '==' 과 'equals()'의 차이점 '=='은 객체의 '주소값'을 비교하고, equals() 메서드는 내용을 비교합니다.문자열로 선언한 test1, test2는 자바 컴파일러가 메모리 사용량을 최적화 하기 위해String Constant Pool 영역에 같은 값의 문자열을 저장, 공유하여 같은 주소를 갖게됩니다. 따라서System.out.println(test1 == test2) 의 경우는 'true' 가 출력됩니다. 하지만new 연산자를 사용하여 새로운 문자열 객체를 생성하면 Heap 영역에 저장되어 다른 주소값이 할당되어System.out.println(test1==test3) 은 'false'가 출력됩니다.  equals() 메서드는 두 문자열의 내용을 비교합니다.때문에 값만 같은지 알고싶다면 equals() 메서드를 사용하는 것이 .. 2024. 7. 19.
[Java]추상 클래스와 인터페이스의 차이 기본 개념추상 클래스 : 물려 받는 것(가문)인터페이스 : 장착하는 것(장비) 다중 적용 추상 클래스 : 불가(1개의 가문만 가능)인터페이스 : 가능(여러 장비 착용 가능) 상속관계의 제한추상 클래스 : 있음인터페이스 : 없음 생성자 유무추상 클래스 : 생성자 보유인터페이스 : 없음 메소드 유무추상 클래스 : 구상, 추상 메서드 모두 가능인터페이스 : 추상메소드(abstract를 붙이지 않아도 가능), default 구상 메소드, 클래스 메소드 필드추상 클래스 : 모두 가능인터페이스 : 상수만 가능(final 명시를 하지 않아도 됨)  적용 연산자추상 클래스 : extends인터페이스 : implements 2024. 3. 20.
Java : boolean, 비교 연산자(comparison), 단축평가(short circuit) Boolean Type Boolean Type은 1 Byte (8bit)를 차지합니다. 1 Byte(8bit)가 메모리상 컴퓨터가 가장 쉽게 처리 할 수 있는 단위기 때문입니다. 다음은 예시입니다. boolean bool1 = !true; // false 반환 boolean bool2 = !false;// true 반환 boolean bool3 = !!bool1; // false 반환 boolean bool4 = !!!bool3; // true 반환 boolean bool5 = !(false); // true 반환 boolean bool7 = !((5 / 2) == 2.5); // -> !(2 == 2.5) -> !(false) -> true boolean bool8 = !((3f + 4.0 == 7) .. 2024. 1. 18.
java 식별자(Identifier) : Final 연산자, 식별자 명명 관례 Final 연산자 변수의 값을 최초에만 넣을 수 있고 추후에 변경 불가능 final int INT_NUM = 1; //INT_NUM = 2; 변불가능 식별자 명명 규칙 문자, 숫자, 언더스코어 _, 달러사인 $ 가능, 한글도 가능하지만 인코딩 문제 발생 가능성 있음. // 사용 가능한 이름 int sara, _sara, $sara, 사라; // 사용 불가능 // int 1sara; // int sa ra; // int #sara; 식별자 명명 관례 클래스는 대문자로 시작 상수는 대문자와 _언더스코어 사용 : PI, COMPANY_NAME 변수, 메서드는 camel case 사용 : myName, addNewteam 예약어는 사용 불가, 자바 문법에 이미 정해진 기능이 있는 단어들이기 때문boolean i.. 2024. 1. 8.
반응형