본문 바로가기

전체 글35

클래스멤버, 인스턴스멤버, 멤버변수 , 전역변수 , 지역변수 , 필드 읽기 전에 중요한 것 !! 누군가에게 정보 전달을 하기 위한 글이 아니고 순전히 하루 공부하고 본인의 주관적인 생각을 적어둔 것입니다.!! 클래스멤버 인스턴스맴버 그래서 차이점이 뭐냐 (공유) 가 키워드 인것 같음. 같은 클래스에서 생성한 모든 인스턴스에서 공유해서 사용하고 싶을 때 : 클래스 멤버에 선언 각 인스턴스 내에서만 사용하고 싶을 때 : 인스턴스 멤버에 선언 ------------------------------------------------------------------------------------------------------------------------------------------------------------- 멤버변수(전역변수) 지역변수 필드 일단 전역변수와 지역변수.. 2022. 12. 11.
클래스 ,객체, 인스턴스 블로그에 치면 수두룩하게 사람들이 설명해놨다. 대부분 복사 붙여넣기 한 것 같은 답변이라 직관적으로 어떤 느낌인지 오지 않았다. 클래스 = 설계도 라는 비유 또한 설계도라는 것을 어떻게 개개인이 해석하느냐에 따라 다르게 들릴 수 있기 때문에 비유도 잘 와닿지 않았다. 정답이 아닐수도 있지만 (순전히 개인적인 견해)로 직관적으로 생각해보았다. 그래서 클래스를 왜 만들었는가? 부터 생각해보면 답이 나온다고 생각해서 떠올려 보면 어떠한 로직이 매우 복잡할때 이것을 한번에 여러번 반복하고 싶거나 , 힘들게 만들어놓은 이 로직을 다른곳에서도 쓰이고 싶을 때 , 필요할 때 꺼내쓸 수 있도록 하기 위해서 만든것 같다. 초보인 저의 입장에서 그럼 메소드 만으로 가능하지 않냐 ? 생각이 들었는데 이것에 대한 나의 얇팍한.. 2022. 12. 10.
논리연산자 , 비교연산자 , boolean, 조건문 결국에 논리연산자 , 비교 연산자 , boolean 같은 것들은 조건문을 어떻게 더 효과적이고 폭넓게 표현할 수 있을까에 대한 도구들 같음 . 둘다 결과적으로 if 문으로 A ,B 를 각각 문자열과 비교하여 둘다 맞을시 출력하는 부분은 같음. 그런데 굳이 중첩 if문을 사용하지 않아도 논리연산자를 사용하여서 더욱 간결하게 작성할 수 있는 법을 알게된것 같음. 2022. 12. 9.
안드로이드 프로그래밍 모든 클래스 , 메소드 , xml속성 찾는법 안드로이드 프로그래밍을 할 때면 작동은 하고 싶은데 그러한 작동을 해주는 메소드가 어떤 문법으로 되어있는지 모를 때가 있다. 그럴 때에는 안드로이드 스튜디오에서 공식지원 해주는 reference 패키지 를 보면 모든 클래스의 메소드 와 xml 상속 관계를 찾아볼 수 있다. https://developer.android.com/reference/packages 예를 들어 Button 으로 가능한 지원되는 메소드와 xml속성 를 알아보고 싶을 때는 해당칸에 button 검색 후 아래 칸의 클래스 안쪽의 button 클릭 그 후에는 이러한 창이 뜨는데 여기서 바로 내려서 찾아도 되지만 TextView 를 상속하고 있으니 더 폭넓은 범위의 메소드와 xml속성을 찾기 위해서는 TextView 클릭 밑으로 내려보면.. 2022. 11. 28.
메모리 사용 영역 JVM(Java Virtual Machine) 이 사용하는 메모리 영역에 대해 알아보자 java.exe로 JVM이 시작되면 JVM은 운영체제에서 할당받은 메모리 영역을 구분하여 사용한다. 1. 메소드 영역. 2. 힙 영역. 3. 스레드. ( 그 안에 ( JVM Stack ) 등) 1. 메소드 영역 메소드 영역에는 코드에서 사용되는 클래스들(~.class)들을 클래스 로더로 읽어 클래스별로 코드 ,데이터 상수풀 등을 분류하여 저장 2. 힙 영역 * 객체와 배열이 생성되는 영역. * 여기서 생성되는 객체와 배열은 JVM 스택 영역의 변수나 다른 객체의 필드에서 참조한다. * 참조하지 않는다면 의미 없는 개체가 되기 떄문에 참조 하지 않는 것들을 쓰레기로 취급하고 쓰레기 객체를 힙 영역에서 자동으로 제거한다... 2022. 4. 14.
데이터 타입 분류 쉽게 나눠서 자바의 데이터 타입은 크게 2가지로 분류 된다. 기본 타입 | 참조 타입 기본타입은 정수 , 실수 , 논리 , 문자 리터럴을 저장하는 타입 참조타입은 객체의 번지를 참조하는 타입 (메모리의 번지를 통해 객체를 참조) ... 집주소 같은거로 생각하면 편함 변수는 메모리의 스택(stack) 이라는 영역에 생성된다. 객체는 메모리의 힙 영역에 생성된다. 스택이라는 영역에 변수가 가지는 값이 변수 그 자체의 값을 직접 갖는다 . >>기본 타입 변수 ex) price =100.5; 스택이라는 영역에 변수가 가지는 값이 힙 영역의 객체의 주소 값이다 . >> 참조 타입 변수 ex) name = 100; 2022. 4. 14.
Good thing - zedd , kehlani 자존감이 낮아질때 듣는 노래 !! 제가 가장 좋아하는 뮤지션이자 , 프로듀서 이자 , DJ 인 zedd 의 노래중 하나를 소개하려고 합니다. 그전에 zedd 가수에 대해 살짝 얘기해 드릴게요. zedd는 일렉트로 하우스 장르의 음악을 작곡하는 프로듀서 인데요 !! 모든 곡을 직접 작사 , 작곡 하는 싱어송라이터로 유명하죠! 이번 노래는 여자가수가 너무 노래도 잘하고 연기도 잘해서 소름이 돋았던 기억이 있네요 같이 들어보죠!! https://www.youtube.com/watch?v=CMla2ZIz7-4 I book myself tables At all the best restaurants, then eat alone 나는 최고의 레스토랑에서 혼자 예약을 하고 먹어 I buy myself fast cars.. 2020. 4. 16.
버퍼 사용 입력 함수 | scanf , getchar , 버퍼 란? 정말 오랜만인데요 제가 공부를 안하다보니 ... 일주일이 지나서야 다시 의욕이 나네요 짧게 말하고 바로 들어가 볼게요.. 서론 먼저 왜 알아야 돼냐 ?? scanf , getchar 같은 함수가 문자를 입력하는 과정을 알게되면 !! 함수를 정확히 사용 가능하고 , 에러를 빠르게 고칠 수 있습니다 !! ---------------------------------------------------------------------------------------------------------------------------------- 먼저 버퍼란 ?? 버퍼는 프로그램에서 직접 할당하는 것이 아니고 프로그램 실행 중 운영체제가 자동으로 할당하는 메모리의 저장 공간이예요. 키보드로 입력하는 데이터는 먼저 버퍼에.. 2020. 4. 16.