0. 하드웨어의 소프트웨어 화 

 ex) JVM


1. 객체지향 언어의 특징

   - 재사용성(클래스화) 

   - 유지보수(코드간의 관계) 

   - 신뢰성(제어자, 메서드, 중복제거) 


2. 클래스, 객체 

   - 객체 : 멤버들의 집합, 변수들의 집합, 인스턴스 변수의 집합 

   - 클래스 : 연관된 데이터와 함수들의 모임, 구조체+함수, 사용자 정의 타입

                 (변수 > 배열 > 구조체 > 클래스) 


3. 변수, 메서드 

   -  변수 (선언위치에 따른) 

       - 멤버변수(클래스영역)   

            - 클래스 변수(static변수, 공유변수, 안변하는 속성) 

                : ※같은클래스의 모든 객체들이 같은 값을 공유하는 변수. 그래서 변경도 가능 하나 모든 객체의 값이 변경된다.

                : 클래스가 메모리에 로딩시 생성

                : 언제든 사용 가능(클래스명.클래스변수명)  

            - 인스턴스 변수

                : 인스턴스마다 다른 값 저장 

                : 객체 생성시 생성

                : 객체 생성후 사용 가능(참조변수명.인스턴스변수명)

       - 지역변수(메서드영역)  


   - 메서드 

       - 명령문의 집합. 값을 입력받아 처리하고 결과를 반환함 (둘다 없을수도 있음) 

       - 주요 작업 단위로 작성하여 코드 관리가 용이 

       - 리턴타입 메서드이름 (매개변수){ } 로 정의  

 - 리턴문은 변수 처리를 하여 호출 횟수를 줄이는게 좋다. 


4. JVM의 메모리 구조 - 호출스택(동전통) 

   - 맨 위에 메서드가 현재 실행중인 메서드다.

   - 예외처리 시 잘 알아둬야함!!


5. 매개변수

   기본형(primitive)  매개변수 - 읽기만 

   참조형(reference) 매개변수 - 읽고 변경 가능 



 

기본형 매개변수 예제


(자바의 정석 남궁성님 객체지향 강의중 캡쳐)


6. 재귀호출 

   매서드 내에서 자기 자신을 반복적으로 호출하는 것

   반복문으로 바꿀 수 있으며 반복문 보다 성능이 나쁘나 이해하기 쉽고 간결한 코드를 작성할수 있다.

   팩토리얼, 제곱, 트리운행, 폴더목록 표시등에 사용 



+ 팩토리얼 알고리즘 이해하기


7. 클래스 매서드 인스턴스 매서드

  클래스 매서드는 인스턴스 메서드 사용 안하면 static붙여서 쓴다 . 인스턴스 변수나 인스턴스 메서드 사용 관련 없을때 

  


1. JDK 

- JRE ( JVM + Java API )

- 자바실행파일(javac.exe, java.exe, javap.exe, javadoc.exe, jar.exe) 


2. Java의 주요실행파일

- javac.exe  (자바컴파일러)    자바코드>바이트코트

- java.exe   (자바인터프리터) 컴파일된 바이트코드 해석과 실행 

- javap.exe (역어셈블러)       컴파일된 클래스파일 > 원래 소스로 변환


ex) Hello.java > javac.exe(컴파일) > Hello.class > java.exe > 실 행 

          명령어 : javac Hello.java                       java Hello(java.exe로 실행시에는 확장자를 빼고 입력한다)



3. 두개의 클래스가 담긴 하나의 소스파일을 컴파일시 클래스 파일은 클래스마다 하나씩 만들어지므로 두개의 클래스파일이 생성된다. 




4. JVM이 사용하는 메모리 영역

- Method Area

   클래스 로딩 (Static) 

- Stack 

   메서드 호출시 사용 

- Heap 

   인스턴스 생성시 사용 





(자바의 정석 남궁성님 객체지향 강의중 캡쳐)






06 : 05  화영이의 결혼소식과 함께 정신이 번쩍 들었다. 아아.. 님은 갔습니다. 마음이 싱숭생숭.ㅠㅠ 내가 왜?? 웨때문에!!!!

아침식사는 감자샐러드와 해독주스.


06 : 40  날이 너무 좋아 사랑이와 잠시라도 안나올 수가 없었다. 궁디 씰룩씰룩 거리며 총총총 걷는 사랑이. 사랑 그자체 ♥


07 : 20  부지런히 준비하고 엄마와 출근.


08 : 20  노트북 열람실이라 강의부터 들었다. 예전에 배운 내용이지만 잊은 부분이 많아 이번에 확실히 담아두고 가야겠다.

           JVM이 사용하는 메모리 영역 Method Area , Stack , Heap . 남궁성님의 플래쉬 강의는 정말 대단하다.


09 : 00  자료실로 이동후 블로그 쓰는중


09 : 45  자바 강의


11 : 00  점심식사 및 이동


12 : 00 ~ 15 : 00 간식 찾음...


15 : 00   코어 테라피 수업


17 : 00   코딩 


06 : 05  전날 준비를 잘 하고 잔 덕분에 무리 없이 일어나 아침 요가를 간단히 하고 해독주스와 감자스프를 만들고 도시락을 쌌다. 


07 : 00  아침식사를 하면서 오늘 하루를 준비해 본다. 만족스러운 아침이다. 그치만 내 잠옷 위에서 자는 사랑이를 보니 왠지 짠하다. 

           얼른 비가 그쳐야 산책을 갈텐대 


08 : 00  엄마와 함께 부지런히 나와 수다를 신나게 떨며 도서관으로 향한다.


08 : 20  자바의 정석을 읽었다. 메모장 컴파일을 다시한번 해봐야겠다.


08 : 45  일찍 내려왔는데 문을 안열어준다. 다음부턴 시간 맞춰서 내려와야겠다.


09 : 00  자리를 잡고 블로그를 쓰고 자바 자료를 찾고 하니 졸리다. 당 떨어진다 ㅎㅎㅎㅎ


10 : 20  


[자바 기본]


- JDK - JRE ( JVM + Java API )

        - 자바실행파일(javac.exe, java.exe, javap.exe, javadoc.exe, jar.exe) 


- 주요실행파일

  javac.exe   (자바컴파일러) 자바코드>바이트코트

  java.exe (자바인터프리터) 컴파일된 바이트코드 해석과 실행 

  javap.exe (역어셈블러) 컴파일된 클래스파일 > 원래 소스로 변환


  Hello.java > javac.exe(컴파일) > Hello.class > java.exe > 실 행 


                  javac Hello.java                       java Hello(*실행시에는 확장자 빼고 입력)


  *하나의 소스파일에 2개의 클래스 컴파일시 클래스 파일은 클래스마다 하나씩 만들어지므로 두개의 클래스파일이 생성된다. 


[ 객체지향 ]


- 객체 : 인스턴스 변수들의 집합

- 클래스 : 서로 연관있는 데이터와 함수들의 집합


이해하고사용   


11 : 40 ~ 17 : 35  모각코 프로젝트 코딩!  부트스트랩 걷어내고 기본 프레임 작업. 부트스트랩 보다 훨씬 나은 것 같다. 

 시간이 정말 빨리간다. 6시간이나 흘렀다니.. 1~2간 흐른것 같은대 정말 빨리간다. 

 현재는 submenu작업중. display none 에서 mouseover시 block으로 변경되는 시점을 찾아야한다. 

 ㅎㅎㅎㅎ 재밌다. 





17 : 50 ~ 19 : 00  Core Yoga 오늘 정말 운동 제대로 했다. 하루를 잘 살고 나면 운동도 잘 되는 것 같다. 정말 신기한게 원랜

                        운동을 할 수록 힘이 점점 빠져가는데 오늘은 하면 할 수록 힘이 생기는 느낌이었다.  마지막 즘엔 귀가 먹먹하고 

                        현기증이 나서 잠시 멈추었다. 한계치 까지 온 것 같았다. 이 느낌 좋다. 장난아니다.


19 : 00 ~ 19 : 30  귀가. 아니아니 하늘이 또 이렇게 멋질수가 없다. 하늘색과 빨간색이 섞여 연보라색이 나오는대 사진엔 담기지 않는다.

  볼 수 있다는 것에 너무너무 감사하며 마음속에 눈속에 가득 담으면서 집에왔다. 멋진 저녁이다!


19 : 30 ~ 20 : 00   밥을 후딱먹고 (감자치즈와 파김치 Good!) 피곤했지만 하루종일 심심했을 사랑이를 위해 아파트 산책을 하였다. 

                         어두워져서 멀리 나갈 순 없었지만 우리 사랑이 여기저기 잘 다니는 것을 보니 마음이 충만하다. 


20 : 00 ~ 21 : 30   사랑이를 싯기고 나도 싯고 스킨케어 챱챱챱! 바르고 대충 청소를 하고 내일 준비를 한다! 


21 : 30                현재! 준비를 하고 10시에 잠들것 ! 헤헤 행복한 하루 ~ ♥ 감사합니다..!






                        







 06 : 05   "나날이" 덕분에 수면기록도 하고 아침에 눈이 번쩍 뜨여서 좋다. 또한 너무나 소중한 사랑이와의 시간을, 엄마와의 시간을

             취직하게 되면 못보낸 다는 생각에 눈이 뻔쩍 뜨인다. 이렇게 감사한 익산에서의 하루를 허투루 보낼 수 없기에! 오늘도 부지런한

             아침을 보낸다. 해독주스와 새로끓인 시원한 콩나물 국에 밥을 먹었다. 그러나 먹어도 배고픈느낌?


 07 : 00   요새는 내내 비가와서 산책을 갈 수가 없어 안타깝다.


 08 : 00   엄마와 함께 분리수거를 하고 음식물 쓰레기를 버리고 도서관으로 출근! 내가 노트북을 자유롭게 사용할 수 있는 자료실은 9시에 

             개방하기에 한시간동안 열람실에서 책을 읽는다. 영어책 한 권 외워봤니? 를 다시 읽는 중인대 책은 정말 읽을때마다 새로운 내용이 

             보인다. 문장 암기 2일차인데 역시 책을 참고해서 하니 도움이 많이 된다.


 09 : 00   자료 실에 와 책을 마저 읽고 블로그를 간단히 작성하고 어제 보다말았던 자바지기 영상을 본다 

  

 10 : 30   배가 고파 라면을 먹었다. 속이 안좋다.


 12 : 00   까페로 이동! 역시 와이파이가 잘터지니 수월하다. 그런데 여기와서 시나몬 모카까지 먹었더니 속이 안좋고 몸에 힘이 없다.

  음식 때문일까. 프로그래밍에 관해 고민이 많다.




# 나는 프로그래밍이 시간이 잘가서 좋았다. 코딩을 하면서 나도 무언가를 집중에서 할 수 있다는 것에 보람을 느꼈다. 사실 이말은 나에겐

내가 무엇을 만들고 싶어서 프로그래밍을 시작한 것은 아니라는 것이다. 때문에 회사에 들어가서도 위에서 시키는 일에 군말없이 코딩하는 

것에 크게 불만이 없었고 즐거웠다. 그러나 회사를 나와서는 누군가가 정해준 코스대로 작업 하는 것에만 익숙해져 있던 나이기에 

매우 혼란스럽다. 보통 프로그래밍이 좋아서 하는 사람들은 무언가를 만들어 보고 싶어서 시작 한다는데 나는 그것이 아니기에 갈피를 

잘 못잡겠다. 무엇부터 배워야할지? 프로젝트 방향은 어떻게 잡아야할지? 조금이라도 관심있는 분야를 찾아 시작해야 할것 같긴하다. 숲을 

보지 못하는 느낌이다. 일단 확실한건 방향에 대한 내 스스로의 고민이 필요한 시점이라는 것이다.  인터넷상의 여러 답변들도 모두 각자 

스스로의 고민의 산물이다. 나도 선배 개발자들의 조언들을 바탕으로 좀더 바람직한 방향을 향해 나만의 답을, 방향을 잡아봐야 겠다.


  프로그래머가 되는데 정해진 길은 없습니다.

  너무 주변 사람들 말에 휘둘리지 말고 XX님이

  하나씩 찾아가는 경험을 하는 것도 의미가 있다고   

  생각합니다. 그 만큼 치열하게 고민했을 것이고, 

  그런 내용들은 면접 공간에서 충분히 의미있으리라 생각합니다.

     - 자바지기 박재성님 답변中 -



 


             

+ Recent posts