본문 바로가기

자바

객체는 어떻게 조작할까? 객체와 메모리와의 관계 객체는 어떻게 조작할까? 객체와 메모리와의 관계 객체의 조작 다들 객체에 대해서는 대충이라도 알고 계실거라고 생각하는데요. 이번 장은 그 객체에 대해서 좀 더 자세하게 들여다 보려고 합니다. “객체를 생성하다” 라는 액션 자체는 메모리에 그만큼의 공간을 차지하는 결과가 됩니다. 그럼 ! 생성한 이 객체를 어떻게 조작할 것인가? AClass a = new Aclass(); 바로 우리가 아무 생각없이 썼던 이러한 구문에서 AClass 타입의 객체가 생성되고 (이 타입의 객체를 만들어줘~! 라고 말하는것과 같음) a 참조자(식별자)를 이용해 객체를 조작할 수 있는 것이죠. 우리가 프로그래밍에서 대부분의 시간을 보내는 부분이 바로 객체를 생성하고 조작하는 일입니다. 그렇다면 아래와 같은 경우는 어떻게 될까요? .. 더보기
다형성의 쉬워 보이는 이해^^; 다형성의 쉬워 보이는 이해^^; 골 판지 상자 / 이미지 / pixabay oop 의 이해 : 다형성 자바에는 많은 특징이 있고 그것들을 통해 자바는 객체지향적 프로그래밍이 가능하게 됩니다. 그 중에 이번장 에서는 다형성에 대해 알아보겠습니다. 다형성(polymorphism) 은 쉽게 말해 한가지의 형태로 다양한 각자의 행동을 취하는것을 말합니다. 예를 들면! 자동차 연구소가 있다고 칩니다. 그곳에는 H자동차, K자동차, B자동차 가 있다고 하죠. 다형성을 위해 아래와 같이 상속관계를 구현하는것입니다. [자동차] (인터페이스) 더보기
클래스의 재사용과 상속 관계 클래스의 재사용과 상속 관계 상자 물음표 질문 / 이미지 / pixabay 클래스의 재사용 , has a 의 관계 같은 동작을 하는 같은 코드를 매번 만들필요는 없겠지요?(가끔 그럴때도 있긴 합니다만…) 코드를 재사용 하는 것은 객체지향언어에서 최대의 장점중 하나 입니다. 우리가 흔히 알고 있는 객체 지향의 특징중 하나인 상속 이라는 것이 있죠. 상속을 통한 재사용도 있을수 있지만 상속을 통한 관계는 부모 클래스에 매우 종속적이게 됩니다. 컴파일 시에 타입이 결정되기 때문이죠. (자식은 부모형태 이다 = child is parent ) 바로 is a 관계가 성립하기 때문이죠. 클래스 내부에서 멤버 객체(클래스)들을 생성하여 필요한 조합으로 구성할 수 있고 이를 컴포지션 이라고 합니다. 클래스 내부에서 클.. 더보기
접근제어(public, private) 알고 사용하자 접근제어(public, private) 알고 사용하자 이미지 / pixabay 접근제어를 왜 써야되는가? 예전 문서들을 보던중 갑자기 접근제어에 대해 정리를 하고 싶어 졌습니다. 언어를 처음 공부할때 도대체 이해가 안되던 기억이 나네요. 자바의 접근제어에 대해서 이해해 봅시다. 자바에서 접근제어 키워드는 public, private, protected, default 가 있습니다. 그냥 쓰면 되지 굳이 이딴걸 왜 만들었을까요? 이렇게 이해하면 쉽습니다. 이미지/pixabay/생각 사고 반영 어느날 철수는 한 프로젝트에 투입되게 됩니다. (갑자기???) 철수는 클라이언트개발자로 활동중입니다. 프로젝트에 투입되자 경태 라는 코어(라이브러리, 클래스작성자라 칭함) 개발자를 만나게 됩니다. 거기서 철수가 하는일.. 더보기
함께 하는 스터디 - 클래스 class 너란 녀석을 알아보자 2장. 클래스 너란 녀석... 이미지/flickr 클래스? 이제야 자바공부의 본격적인 진입입니다. 이번장 에서는 바로 그 객체란 녀석을 만들어보겠습니다. 추상적인것 말고 실제로 객체를 만든다는것은 어떤것 일지 알아야 합니다. 자바에서 객체는 Class 라는 엔티티로 표현되게 됩니다. * OOP 적인 프로그래밍 - 자바 에서 우리들이 하는 일은 그저 객체를 만드고 그걸 활용하는 것 그것이 전부. 라고도 한답니다. 그럼 객체를 만들어 볼까요? 우리는 자동차라는 객체를 이용하여 무언가를 하고싶습니다. 한번 만들어 봅시다. MyCar myCar = new MyCar(); "이게 끝입니까?" “네 끝입니다” 이것이 객체를 만드는 전부 입니다. 객체를 만든다는것은 어떤것 일까요? 객체를 생성하는 행위는 사실 메모리.. 더보기
함께하는 스터디 도대체 자바가 뭐에유? 객체지향은 또 뭐람??? 1장. 도대체 자바가 뭔가요? 객체지향은 또 뭐구요. 이미지 / pixabay 자바?? 커피임?? 프로그래밍을 하는자 혹은 아닌자… 혹시 누구든 자바 라는 프로그래밍언어에 대해 한번쯤은 들어보지 않았을까 합니다. "아~ 그 자바. 자바.자바… 알럽~ 커퓌 알러~~ㅂ 그거 커피 아니야?? " "응. 아니야." 이번편에 설명하고자 하는 자바는 프로그래밍 언어 JAVA 입니다. 자바는 ‘썬마이크로시스템즈’ 의 ‘제임스 고슬링’ (+ 연구원들)에 의해 1995년에 발표된 언어 입니다. 처음에는 가전제품내에 들어가는 프로그램을 위해 개발 되었다가 현재는 웹 어플리케이션(일반사람들이 이야기하는 그 홈페이지)을 만드는데 주로 쓰이는 언어 입니다. “잘 이해가 안 가신다구욧?” 잘 이해가 안되면 핸드폰을 잠시 꺼내서 .. 더보기
자바 1.8 람다식 잘 사용해보자~! 자바 1.8 람다식의 사용 안녕하세요. 자바 1.8 기준 람다식 사용법을 정리 해보았습니다. 기존의 문법으로 쓰레드를 사용하여 Hello world를 출력하면 이런식이 됩니다. 1 2 3 4 5 6 new Thread(new Runnable() { @Override public void run() { System.out.println("Hello World."); } }).start(); cs 아시다시피 기존의 문법은 복잡합니다. { 열고 ... } 닫고... { 열고... } 닫고....... 람다식을 사용하면 아래와 같이 간략해 집니다. 1 2 3 new Thread( ()->{ System.out.println("Hello World."); } ).start(); cs 어떻게 이런게 가능한가?? 이.. 더보기
자바 메모리 Stack 과 Heap 영역에 대하여 안드로이드 지식 공유 자바 메모리 영역 - stack and heap 그냥 만들어도 만들수 있습니다. 그렇지만 알고 만드는 것과 알고 만드는 것은 많은 차이가 있죠. 개발시 가장 기본이자 기본. 메모리 구조. 정말 중요하지만 쓰다보면 까먹는 게 또 바로 이 메모리 영역에 대한 이해 입니다. 눈에 보이지 않기 때문이죠...ㅠㅠ 자바는 메모리 관리를 따로 해줄수가 없습니다. 순전히 가비지 컬렉션에 의지해서 잘 관리 해주길 바랄 뿐이죠 ^^;;;;;;; 자바 메모리 영역은 여러가지가 있지만 오늘은 크게 두가지로 나누어 알아보겠습니다. 바로 stack과 heap 입니다. 스택은 말 그대로 메모리에 정보를 쌓는 구조로 설계 되어 있죠. 그에 반면 heap에 있는 데이터는 반드시 주소(참조)값이 있어야 원하는 위치.. 더보기