'자바'에 해당되는 글 6건

  1. 2020.02.14 쓰레드
  2. 2020.02.13 예외처리
  3. 2020.02.11 정적 변수와 매소드
  4. 2020.02.10 접근 제어자
  5. 2020.02.10 패키지

쓰레드

JAVA 2020. 2. 14. 14:59
반응형

드디어 점프투 자바 마지막이다.

10개의 쓰레드를 활성화 시켰다. 이과정에서 보면 순서가 일정하지 않은데 이르 통해서 쓰레드가 동시에 켜진다는 것을 알수 있고 쓰레드가 종료되기전에 main 매소드가 종료된후 스레드도 종료를 한다.

 

 

인터페이스를 이용해서 제적을 해보았다.. thread의 생성자로 Runable 인터페이스를 구현한 객체를 넘길수 있는데 이방법을 사용한것이다. 이렇게 설계를 하면 더 유연한 프로그램을 개발할 수 있다.

 

=====================

점프투 자바가 끝났다. 아직 자바를 완파했다고는 말하지 못하겠다. 마지막에 예외처리 부터는 정말 힘이딸려서 조금 제대로 공부하지 않았다. 당분간은 리눅스에 조금 집중을 하고 멘탈 케어가 되면 자바의 객체지향을 이용한 프로그램을 개발해볼 생각이다. c++도 해야하고 리버싱도 해야하고 ... 할일이 많다.

반응형

'JAVA' 카테고리의 다른 글

예외처리  (0) 2020.02.13
정적 변수와 매소드  (0) 2020.02.11
패키지  (0) 2020.02.10
파일 입출력  (0) 2020.02.06
콘솔 입출력  (0) 2020.02.03
Posted by 53C
,

예외처리

JAVA 2020. 2. 13. 20:47
반응형

예외처리문은 파이썬과 같았다.

 

ok 에러가 잘 발생했다. 프로그래머한테 오류가 나는 일은 기쁜 일이라고 했다.

성공적으로 오류를 강제적으로 발생시켰다.

try 문을 사용해서 성공적으로 오류를 처리해 보았다.

 

Exception 클래스는 쿠게 두가지로 나뉘는 부분에서 가장 신기하다고 생각이 됬다.

예측가능한 오류는 미리 처리를 하고 예측되지 않은 오류에 대해서도 대처가 가능하며 앞으로 설명을 하겠지만 예외처리 기법을 활용하면 큰 프로젝트를 제작하면서 코드를 읽기 쉽게 만드는 효과도 볼 수 있으며 자바로 제작한 프로그램의 안정성을 입증도 할 수 있다.

 

저번시간에 사용한 throw 를 사용했다. throw는 오류를 위로 올리는 기능을 가진다. 그래서 main 함수에서 오류가 발생한다. 그래서 main 매소드에서 오류를 try 문으로 처리해주는 과정이 필요하다.

 

예외처리에는 transaction 트랜잭션 이 매우 중요하다.

 

어느시점에서 오류가 발생하면 어떤 클래스에서 처리를 하고 싶은가이다.

 

이는 클래스의 가독성을 높이는 효과와 객체 지향적으로 설계함에 있어서 매우 중요하게 작용이 된다.

가독성이 높고 쉽게 편집과 관리가 가능하게 하기 위해서 특정 클래스로 요류를 throw 해버림으로 오류를 손쉽게 처리하고 안정적인 프로그램을 설계할 수 있기 때문이다.

 

 

=============================================

 

천채와 재능 앞에서 노력이 무너질 수 있다.

만약 포기한다면 나의 꿈도 끝이다.

쓰러지더라도 일어나야한다.

포기하기에는 내꿈은 너무 크니까!

 

화이팅!@!

 

https://comic.naver.com/webtoon/list.nhn?titleId=736989&weekday=thu

 

더 복서

누구도 범접할 수 없는 충격적인 재능! 그것은 과연 축복일까, 저주일까?!

comic.naver.com

 

좋아하는 작가님의 작품입니다.!! ㅈ재미있어요

오늘 안 사실인데 더북 자료를 사용했는데 url배포는 가능한데 이미지 같은것은 블로그에 쓸수 없어서 몇몇 이미지가 없어도 양해해 주세요

반응형

'JAVA' 카테고리의 다른 글

쓰레드  (0) 2020.02.14
정적 변수와 매소드  (0) 2020.02.11
패키지  (0) 2020.02.10
파일 입출력  (0) 2020.02.06
콘솔 입출력  (0) 2020.02.03
Posted by 53C
,

정적 변수와 매소드

JAVA 2020. 2. 11. 17:56
반응형

static 키워드를 사용하면 자바에서는 한가지 변수만 만들게 된다.

count 라는 변수를 확인해보면 두객체에서 실행했을떄 각각 변수를 설정하는 반면 static 키워드를 변수앞에 적어주면 하나의 변수만 할당을 하게된다. 이를 통해서 메모리적인 여유를 얻을 수 있다.

 

static method

 

 

매우 어렵고 신기 했다.

객체가 아닌 클래스로 매소드를 호출했다... 보통이라면 객체로 호줄되어야 한다. static 매소드를 이용해서 클래스에 대한 하나의 매모리를 만든 것인지 분석을 해보았다.

 

객체가 생성이되면 Heep영역에 매모리가 할당이 된다. 하지만 static 키워드를 하게 되면 heep 영역 밖에 다른 매모리 위치를 가지게 된다.

이때 변수에 대해서 모든 객체에서 공유가 가능하지만 GC관리 영역 밖에 매모리가 할당이 되면서 매모리 관리가 어려워진다. 그래서 많이 사용 할 경우 프로그램 종료시까지 매모리가 할당이 된 상태로 있는다.

 

힙오버 플로우라는 공격이 있다. 힙도 자료구조상 자료를 저장하는 공간으로 버퍼 오버플로우가 가능하여 공격이 가능하다.

 

 

예제 2의 소스 이다. 처음 했을떄 결과값이 이상해서 찾아 봤는데

 

utill 클래스는 유용한 패키지의 집합이고 SimpleDateFormat에서 데이터를 가져오는 패턴이 있느데 거기서 문제가 발생했다.

 

싱글톤 패턴

 

프로그램 개발에서 디자인 패턴은 매우 중요하다고 생각이 든다. 특히 이런 디자인 패턴을 머신러닝을 이용해서 악성코드소스의 디자인 패턴과 github등 코드 공유사이트에서 용의자를 찾아내는데 도움이 되지 않을까? 하는 생각이 든다. 

디자인 패턴은 정해져 있지만 프로그램 코드에 따라 사람마다 차이가 있기 때문에

 

우선 디자인 패턴중에 하나인 싱글톤 패턴에대해서 배워보자

싱글톤 패턴은 하나의 클래스에 하나의 객체를 만드는 것을 말한다.

 

클래스 하나에 2가지 클래스가 들어가는게 가능하나? 에서 의문이 들기 시작했고

그래서 두개의 클래슬 만들어 주었다.

 

 

접근제어자인 private 로 new를 이용해서 객체를 만드는 것을 제한했고

스테틱매소드로 메모리를 할당하여 heep영역 밖에 one 매모리를 할당했다.

 

Singleton 클래스에서는 객체가 한번 생성이 된다.

그리고 singletonTest에서 2개의 객체를 new를 이요하지 않고 객체를 만들고

두 객체에는 각각 one 이 return 된다. 

그리고 결과적으로 true가 리턴 된다.

 

특히 분기문에서 햇갈리는 부분이 있었는데

객체가 생성이 되지 않은 상태에서 클래스가 하나의 변수를 가지게 하기위한 분기이다.?

뭔가 이해가 되면서도 이해가 되지 않는다.... 

 

======================================

아 진짜 죽을 것 같다... 오늘 실밥풀고 동국대 수강신청 자료 찾아보고 특히 망할 프로그램 다운 받는데 5시간 가까이 허비한것 같다. 개빡친다.

 

인생의 동반자가 될것같은... 불길한 예감이 든다.

밀크티는 정말 잘만든 음식이다. 간단하고 속도 편하고 달고 부드럽다

영국 뽕 터진다.

 

걍 지금 멘탈 저세상 감ㅋ

반응형

'JAVA' 카테고리의 다른 글

쓰레드  (0) 2020.02.14
예외처리  (0) 2020.02.13
패키지  (0) 2020.02.10
파일 입출력  (0) 2020.02.06
콘솔 입출력  (0) 2020.02.03
Posted by 53C
,
반응형

접근 제어자는 프로그램 안에서 변수와 메소드의 접근 권한을 지정해주는 문자이다.

접근제어자로는 private, default, protected, public 이 있고

private -> default -> protected -> public 순으로 보다 많은 접근을 허용한다.

 

위표는 접근 제어자 별로 접근이 가능한 범위를 표현해 보았다.

 

접근 제어자를 능숙하게 사용하는 연습이 필요할것 같다.

접근제어자는 결국 지역변수와 전역변수 설정에 사용이 되기때문이다.

그래서 프로그램을 제작할때 단순히 public 만 사용하지 않고 다양하게 사용을 해야 될것 같다.

반응형
Posted by 53C
,

패키지

JAVA 2020. 2. 10. 14:13
반응형

자바에서 패키지의 사용법은 파이썬의 모듈 사용법과 같다.

다만 자바이 경우 객체 지향적 설계를 위해서 패키지의 사용이 많기때문에 만드는 법또한 자세히 나와있었다.

자바의 경우 서브 패키지라는 하위 개념이 포함이 되어있다.

 

서브 패키지의 사용법은 다음 접근 제어자에 나온다.

반응형

'JAVA' 카테고리의 다른 글

예외처리  (0) 2020.02.13
정적 변수와 매소드  (0) 2020.02.11
파일 입출력  (0) 2020.02.06
콘솔 입출력  (0) 2020.02.03
점프 투 자바: 다형성  (0) 2020.02.02
Posted by 53C
,