목록분류 전체보기 (179)
study record
String과 StringBuffer/StringBuilder 클래스의 가장 큰 차이점 String은 불변(immutable)의 속성을 갖는다. 따라서 변하지 않는 문자열을 자주 읽어들이는 경우 String을 사용하면 좋다. 그러나 문자열 추가,수정,삭제 등의 연산이 빈번하게 발생하는 알고리즘에 String 클래스를 사용하면 힙 메모리(Heap)에 많은 임시 가비지(Garbage)가 생성되어 힙메모리가 부족으로 어플리케이션 성능에 치명적인 영향을 끼치게 된다. 이를 해결하기 위해 Java에서는 가변(mutable)성을 가지는 StringBuffer / StringBuilder 클래스를 도입했다. StringBuffer/StringBuilder 는 가변성 가지기 때문에 .append() .delete() ..
인텐트 Intent란? 액티비티끼리 서로 호출하기 위해 필요한 통신 장치 각각의 컴포넌트간의 통신을 맡고 있는 것 앱 컴포넌트가 무엇을 할 것인지를 담는 메시지 객체 애플리케이션 구성요소 간에 작업 수행을 위한 정보를 전달하는 역할 페이지 전환, 페이지간 데이터 전달 인텐트 Intent의 통신 방법 두 가지 명시적 인텐트: 인텐트에 클래스 객체나 컴포넌트 이름을 지정하여 호출될 대상을 확실히 알 수 있는 경우. (앱의 화면전환을 하는 방법) 암시적 인텐트: 호출될 대상의 속성들을 지정했지만 호출될 대상이 달라질 수 있는 경우. 인텐트의 액션에 따라 해당하는 적합한 애플리케이션의 클래스를 호출. (웹브라우저 호출, 통화 등) 인텐트의 기본 구성 요소 액션 : 수행할 기능 데이터 : 액션이 수행될 대상 데이터
백준 10809번 입력받은 단어를 모든 알파벳들과 비교하여 있으면 처음 나온 자리를 출력하는 문제였다. 쉬워보이는 문제였지만 곧바로 뚜렷한 해결방법이 떠오르진 않았다. 그래도 두들겨보니 되었따..ㅎ for 문을 두번 써버린게 약간 아쉽긴 하다. break가 잘 먹힌게 신기했다. if()문 안에 넣으면 딱 그 if문만 빠져나가나보다. 백준 1157번 꽤나 오래걸렸다. 알파벳 아스키코드를 잘 알고 있어야 쉽게 풀어낼 수 있는 문제였다. 'A' ~ 'Z' 는 65~90 'a' ~ 'z' 는 97~122 임을 알게 되었다. int배열 자체에서 char형의 알파벳를 한꺼번에 활용하면서 두 가지 정보를 얻을 수 있는 연습을 했다. char형과 int형 연관관계를 잘 이용하자. 백준 2908번 입력에서 스페이스 한 ..
== 비교를 위한 연산자이다. 비교하고자 하는 대상의 주소값을 비교한다 equals() 메소드이며, 객체끼리 내용을 비교할 수 있다. 비교하고자 하는 대상의 내용 자체를 비교한다. String a = "a"; String b = a; String c = new String("a"); // 새로운 객체 생성. 주소가 다름. // 주소값을 비교 a == b; // true a == c; // false // 내용(값)을 비교 a.equals(b); // true a.equals(c); // true