'JAVA'에 해당되는 글 21건

  1. 2020.02.03 콘솔 입출력
  2. 2020.02.02 점프 투 자바: 다형성
  3. 2020.01.31 점프투 자바: 인터페이스
  4. 2020.01.19 점프 투 자바: 생성자
  5. 2020.01.13 점프투 자바 6강 : 상속

콘솔 입출력

JAVA 2020. 2. 3. 21:12
반응형

 

자바에서 입출력은 내가 배운 언어 중에 가장 복잡 그 자체이다. 특히 마지막에서는 for each 문을 이용해서 내가 받은 문자열의 아스키코드값을 출력시키도록 프로그램을 해봤는데 문자열 오류로 아직 배우지 않은 trows문을 사용해서 예외 처리를 해야 했다. 이를 통해서 자바에서의 안전성이 높다는 것과 이클립스라는 개발환경의 경우 자체적으로 오류를 해결해주는 프로그램이 설치가 되어 있어서 편하다는 평을 받았다. 곧 기본적인 문법이 끝나고 온라인 져지 문제를 풀어보면서 응요력을 높여야 하는데 입출력하는 부분에서 많은 오류가 생각이 되며 특히 자바의 경우 클래스를 이용한 객체 지향 프로그램을 배워야 하는데 배우기에는 프로젝트의 크기가 커지더라도 그만큼 시간이 오래 걸려서 배우기 힘들 것 같다. 현재로써는 작은 프로그램을 계획해서 주기적으로 기능을 추가하는 방식으로 객체지향을 연습해 볼까 한다.

자바는 객체지향적인 언어답게 클래스를 이용해서 입출력을 하는 특징을 가지고 있다. 다른 언어도 입출력 함수를 이용하지만 자바의 경우 클래스를 불러와서 입출력 처리를 해야 된다는 점도 특히 했다.

반응형

'JAVA' 카테고리의 다른 글

패키지  (0) 2020.02.10
파일 입출력  (0) 2020.02.06
점프 투 자바: 다형성  (0) 2020.02.02
점프투 자바: 인터페이스  (0) 2020.01.31
점프 투 자바: 생성자  (0) 2020.01.19
Posted by 53C
,
반응형

좃됬다... 모르게겠다...

 

 

다항성 = 폴리모피즘(Polymorphism) 이라는 것이 있다.

 

처음 이부분을 읽으면서 신기한 점은 

instancof 라는 내장 키워드이다. 이것은 특정 객체가 특정 클래스의 객체인지를 조사할 때 사용되는 자바의 내장 키워드이다

 

예를 들어서 animal instanceof Tiger 이라는 뜻은

 

동물 객체가 new Tiger 로 만들어진 객체인가? 를 묻는 조건식이라는 뜻이다.

 

이때 new Tiger 이 아닌 lion 올 객체를 만들경우 조건문이 시행이 되지 않았다. 이를 통해서 조건문으로 사용하는 좋은 방법을 안것 같다.

 

우리는 지난 시간에 배운 인터페이스를 이용해서 소스를 더 간결한 코드로 만들었다.

 

 

각 객체에 각 객체에 다양한 인터페이스를 활용하여 가독성이 높은 코드를 만들수 있다.

 

다만 

 

다항성 = 폴리모피즘(Polymorphism)

 

이란 하나의 객체가 여러개의 자료형 타입을 가질수 있는것을 뜻하는데 이부분을 해석하는데 시간이 많이 걸렸다.

 

다양한 인터페이스를 가지고 이를 사용하는 방법에서는 해것하는데 많은 시간이 걸리지 않았지만 

객제마다 다양한 자료형을 가진다는 것에서 많은 혼동이 있었다.

 

 

 

 

 

특히 악어 매소드를 확인해 보면 인터페이스를 2가지 호출했는데 인터페이스는 동시 상속이 가능하다는 특징을 가지고 있는데 오류가 나는 부분에서 햇갈렸다.

 

 

전반적으로 이해가 되지 않았던 파트이다. 이부분을 계속 잡고 있어도 답이 나오지는 않을 것 같다. 조금더 진도를 나가고 나가는 과정에서 직접 프로그램을 개발하면서 문제점을 찾을때 비로서 오늘 이해하지 못했던 부분이 보일것 같다.

 

이런 경험이 많이 있다. 

무언가 찾으려 하면 없었다. 그런데 자세히 보지 않으면 보이는 것이 있다. 그래서 항상 모든 것들을 자세히보고 소중히 해야지 멋진 사람이 될수 있다고 생각을 한다.

키보드 압이 무겁다... 무접점인데도 몸이 안좋아서 그런지 오늘은 조금 무겁게 느꺄진다.

키압이 50g 정도인데... 조금더 가벼운것을 찾아봐야 할것 같다. 그리고 자세가 정확하지 않아서 오타가 많이 난다. 아직 책상 정리가 되지 않아서 여러가지고 요즘은 잘풀리지 않는다. 오늘은 어떻게 해야할까?

어떻게 극복해가야할까?

맛없는 경구수액도 오늘 자그마치 5l나 마셨다.

내일은 건강했으면 좋겠다.

반응형

'JAVA' 카테고리의 다른 글

파일 입출력  (0) 2020.02.06
콘솔 입출력  (0) 2020.02.03
점프투 자바: 인터페이스  (0) 2020.01.31
점프 투 자바: 생성자  (0) 2020.01.19
점프투 자바 6강 : 상속  (0) 2020.01.13
Posted by 53C
,
반응형

실직했다. 뭐... 백수가 됐다. 사실 마음이 조금 편하기도 하고 공부에 전념할 생각을 하니 오늘은 왠지 놀고 싶은 마음이 앞섰다. 더군다나 위장은 아프지만 배는 고프고 먹고 싶은 것도 많고 신경성 감염성 등등 종합 위염 장염은 항상 달고 산다. 그래도 이번 주까지는 조금 무리를 해서 자바를 끝내고 스터디 그룹을 만들어서 리눅스 공부를 시작하고 싶다.

나를 따라오는 후배가 있다는 생각을 하면 나도 모르게 힘이 나는 것 같다.

 

ZooKeeper.jzvz

 

자바를 공부하면서 나는 항상 클래스 간의 상속관계과 클래스와 클래스가 어떻게 연결이 되는지 집중하여 공부를 한다. 하지만 오랜만에 봐서 기억이 많이 나지 않았다...

 

lion과 tiger 두 클래스는 animal2를 상속받는다. 그리고 중요한 부분은 interface라는 키워드를 이용해서 인터페이스를 구현시켰다.

 

zookeeper -> 객체 tiger...->animal2 상속 -> predatoe 인터페이스 실행 -> 객체 실행?

 

zookeeper매서드에서 animal2를 상속받은 객체 2개를 만들고 각 객체에 인터페이스를 설정해주고 프로그램이 실행이 되는 순서인 것 같다... 조금 더 연구가 필요하다.

 

일단 객체 지향은 매우 어렵다... 자바를 배우고 나중에 c++을 배우면 더 이해가 잘될것 같다.

 

제가 공부한 부분에서 틀린 부분은 지적 부탁드립니다!! 

 

 

우리가 배운 부분을 이용한다면 문제를 쉽게 해결을 할 수 있을것 같아서 오늘 시간을 만들어서 찾아볼 생각이다.

 

악어라는 클래스는 애니멀2에 상속이되어 있다. 그리고 포식자라는 매소드에 인터페이스 되어있다.

공물관리사 라는 매솓를 살펴보면 악어라는 객체를 만들게된다.

그러면 악어는 애니멀에 의해서 자신의 이름으로 객체가 생성이되고 객체에서 포식자 매소드를 실행하는데 

문제는 악어라는 객체에 아무런 매소드와 리턴 값이 없을 경우이다. 이렇게 되면 전달 값이 없어지기 때문에

feed 라는 문자만 출력이 되야 할것 같지만 오류가 뜨게 된다.

 

오류의 내용은:

 

"main" java.lang 스레드 예외.오류: 해결되지 않은 컴파일 문제:
악어 유형은 상속된 추상적 방법 Predateor.getFood()를 구현해야 한다.

 

그래서 다시 상속의 부분을 공부했다. 현재 악어는 포식자를 상속관게에 있지 않다, 만약에 서로 다중 상속관계를 만들어 준다면 가능할것 같다. 하지만 두 객체가 상속관계에 없다면 매소드가 전달이 되지 않아서 힘들것 같다....

 

생성자 오버로딩 방법을 사하여 문제를 해결해 보려했다. 관리사 안에서 악어라는 객체가 제작이 되었고 악어는 동물2에 상속을 맏아 객체가 성곡적으로 만들어졌고 객제에 대한 인자값이 없으므로 feed() 가 실행 되게 해보려 했는데 되지 않았다.

프로그램 상으로는 추상 클래스의 개념을 사용하면 해결이 가능하다고 나와있다 나중에 추상 클래스를 배우게 되면 사용해 봐야 할 것 같다.

 

반응형

'JAVA' 카테고리의 다른 글

콘솔 입출력  (0) 2020.02.03
점프 투 자바: 다형성  (0) 2020.02.02
점프 투 자바: 생성자  (0) 2020.01.19
점프투 자바 6강 : 상속  (0) 2020.01.13
점프투자바5 강 : 05-3 Call by value  (0) 2020.01.01
Posted by 53C
,

점프 투 자바: 생성자

JAVA 2020. 1. 19. 20:29
반응형

housedog.java
dog.java
anilmal2.java

현재는 생성자를 객체변수를 강제적으로 만들어 주는 방법이라고 생각을 하고 있다..

오랜만에 코드를 봐서 조금 어색했지만 여러차례 실험을 해보았다.

생성자는 객체 변수를 강제적으로 실험해주는지 객체변수 포함시켜보고 안시켜보고 여러 실험을 해보았다.

우선 setname을 통해서 격체에 변수를 넣는 과정이 축소됬다.

그리고 default 생성자 를 이용하면 객체가 설정도지 않았을때 에러코드를 막아준다.

생성자 오버로딩을 하면 여러 객체변수에 대한 대응이 가능하다.

자바의 객체지향적 설게를 생각해야하지만 생각이 쉽지 않다...

오랜만에 봐서 머리가 엄청 아팠다. 어무 어렵다.

생성자는 프로그램을 다채롭게 만드는 역활을 할 것 같다.

 

반응형

'JAVA' 카테고리의 다른 글

점프 투 자바: 다형성  (0) 2020.02.02
점프투 자바: 인터페이스  (0) 2020.01.31
점프투 자바 6강 : 상속  (0) 2020.01.13
점프투자바5 강 : 05-3 Call by value  (0) 2020.01.01
점프투 자바 4강: 매소드  (0) 2019.12.29
Posted by 53C
,
반응형

파이썬에서도 상속은 조금 햇갈리고 잘 사용하지 않는 경향이 있다. 상속은 프로그램에서도 많이 사용되지만 유지보수에서 큰 성능을 발휘한다고 생각이 든다. 보통 기능을 생각하고 설계하면 상속 보다는 클래스를 추가하는 방법을 취하면 되기 때문이다. 하지만 자바를 배우면서 상속이라는 계념을 한번더 공부를 하고 상속이 유지보수 뿥만아니라 가독성이 높은 프로그램을 만드는데 도움을 준다고 생각을 하게되었다.

 

상속관계에는 is-a 관계라는 것이 있다. 내가 만든 프로그램은 저번에 만든 animal2라는 클래스를 상속 받아 제작한 클래스이다. 

anima2의 자료형을 사용하는 클래스로 잠자는 모습을 형상화 시켰다.

반응형

'JAVA' 카테고리의 다른 글

점프투 자바: 인터페이스  (0) 2020.01.31
점프 투 자바: 생성자  (0) 2020.01.19
점프투자바5 강 : 05-3 Call by value  (0) 2020.01.01
점프투 자바 4강: 매소드  (0) 2019.12.29
점프투 자바 3강: 클래스  (0) 2019.12.27
Posted by 53C
,