반응형

전체 글 139

아니 자바에서 static이 도대체 뭔데 (클래스와 메소드)

class Foo { public static String classVar = "I class var"; // 정상 public String instanceVar = "I instance var"; // Error } public class StaticApp { public static void main(String[] args) { System.out.println(Foo.classVar); // 정상 System.out.println(Foo.instanceVar); // Error } } 클래스를 통해서 클래스 변수에 접근이 가능하지만, 인스턴스는 인스턴스를 통해 사용해야하므로 에러가 발생한다. 다음은 static 메소드와 instance 메소드를 만드는 예시이다. static을 사용하면 객체를 생성..

활동/호기심 2023.08.29

[8월] 느슨해진 2023년에 긴장감을 주는 남은 올해는 어떻게 살 것인가

2022년에 교육을 함께 들었던 동기이자 동생인 승원이와 많은 대화를 나눈다. 항상 생각해보고 공부해보라면서 던져주는 고민거리들이 나를 더욱 성장하게 만들어준다. 2023년 6월 19일부터 8월 11일까지 나는 청담동에 위치한 한 프로젝트에 투입되었다. 개발 단계가 아닌 테스트 및 메뉴얼을 작성하는 역할로 투입되었지만, 내 인생의 첫 프로젝트이자 동기 17명 중 첫번째로 선발되어 나간 것에 대해 '비전공자인 내가 쓸모없진 않구나' 라며 혼자 속으로 의미를 부여했었다. 마감기한도 너무 타이트하고 고객의 잦은 요구사항 변동 때문에 야근이 잦았다. 오죽하면 퇴근시간보다 30분이나 늦게 퇴근했음에도 불구하고 '오늘은 칼퇴했다' 라고 생각이 들 정도였으니 그만큼 찌들어.. 아니 열심히 살았던 것 같다. 철수일자가..

활동/회고 2023.08.29

[Do it! 점프 투 자바] 05. 객체 지향 프로그래밍 (객체 변수)

* 본 게시물은 이지스퍼블리싱 [Do it! 점프 투 자바] 서평단 미션 수행 및 학습 목적으로 작성하였습니다. 모든 내용, 디자인, 이미지, 편집 구성의 저작권은 이지스퍼블리싱(주)와 지은이에게 있으며 학습 목적으로 내용을 재구성하여 작성했음을 밝힙니다. 문제시 삭제하도록 하겠습니다. 05장 객체 지향 프로그래밍 자바는 객체 지향(object oriented) 프로그래밍 언어이다. 객체 지향에는 클래스, 객체, 인스턴스, 상속, 인터페이스, 다형성, 추상화 등의 많은 개념들이 존재한다. … wikidocs.net 객체 지향 프로그래밍 계산기에 ① '3' 입력 ② '+' 기호 입력 ③ '5'입력 순서대로 입력하면 결괏값 8이 나올 것이다. 이 말은 즉슨, 계산기는 이전에 계산한 결괏값을 항상 메모리 어딘..

활동/독서 2023.08.28

클래스(class), 객체(object), 인스턴스(instance) 차이점 비교

프로그램 개발한다는 것은 특정 기능을 만든다는 의미이다. 그렇다면 클래스(class), 객체(object), 인스턴스(instance) 차이는 무엇일까 public class Animal { // 클래스 } public class Main { // 객체+인스턴스 public static void main(String[] args) { Animal bird, dog; // 객체 // 인스턴스화 (객체를 메모리에 할당) bird = new Animal(); // bird은 Animal 클래스의 인스턴스 dog = new Animal(); // dog은 Animal 클래스의 인스턴스 } } Animal 클래스를 객체를 만들어 내기 위한 설계도라고 한다면 클래스에서 선언된 모양 그대로 구현할 대상을 객체(Obj..

활동/호기심 2023.08.28

자바 for문을 이용한 '공포의 별 찍기 문제'

학습 기록을 시작하기 앞서, 나는 뛰어난 개발자는 아니지만 꾸준한? 아니 끈질긴 개발자라는 문득 생각 들었다. 이해 안된다고 그냥 넘어갔던 별 찍기 문제를 기어코 다시 마주했고 '이걸 이제와서 또 하네.. 진작 해볼걸' 같은 한심한 생각도 들었지만 그래도 피하지 않고 포기하지 않고 이해하려고 또 덤벼든 나 자신에게 오늘의 칭찬과 보상을 주기로 했다. ( TMI : 저녁에 낙성대입구에 고등어회 먹으러 갈 예정) 자바를 초창기에 공부하면서 옆자리에 앉은 전공자에게 어떻게 하면 잘할 수 있냐 물으니 돌아왔던 대답은 '무조건 찍어보지만 말고 일단 먼저 생각해보라는 것'이었는데 그 말이 이제는 공감되는 것 같다. 2차원 배열 별 찍기 for(int i=0;i

활동/호기심 2023.08.25

While문과 for문의 차이점 (+코드를 간결하게 만들어주는 람다 표현식 설명도 한 스푼)

04장 되새김 문제 죄송합니다. 되새김 문제는 위키독스 웹 사이트에서는 비공개 처리되어 있습니다. **되새김 문제에 대한 상세한 내용은 유료 E-book 또는 종이책에서 확인하실 수 있습니다.… wikidocs.net 해당 문제는 위키독스 웹 사이트에서 공개되지 않으며 교재를 구입하거나 E-Book을 구입해야 확인 가능합니다. 서평단 및 학습 기록 목적으로 작성된 글임을 밝히며 문제시 댓글 주시면 삭제하도록 하겠습니다. 요즘 나는 Do it! 점프 투 자바 교재를 보면서 차근차근 기본기를 다시 다지고 있는데 제어문 파트의 '3의 배수의 합 구하기' 문제를 풀던 중 의문이 생겼다. while문을 사용해 1부터 1000까지의 자연수 중 3의 배수의 합을 구하는 문제 public class study { pu..

활동/호기심 2023.08.24

[Do it! 점프 투 자바] 04. 제어문 이해하기 (while / for문과 for each문)

* 본 게시물은 이지스퍼블리싱 [Do it! 점프 투 자바] 서평단 미션 수행 및 학습 목적으로 작성하였습니다. 모든 내용, 디자인, 이미지, 편집 구성의 저작권은 이지스퍼블리싱(주)와 지은이에게 있으며 학습 목적으로 내용을 재구성하여 작성했음을 밝힙니다. 문제시 삭제하도록 하겠습니다. 04장 제어문 이해하기 제어문을 이해하기 전에 집을 짓는 경우를 생각해 보자. 돌, 시멘트 등은 집을 짓기 위한 재료가 될 것이고, 나무나 철근 등은 집의 뼈대가 될 것이다. 프로그램도 집을 짓는 것과… wikidocs.net while 문 열 번 찍어 안 넘어가는 나무 없다 int treeHit = 0; while (treeHit < 10) { treeHit++; // threeHit += 1 로도 표현 가능 Syste..

활동/독서 2023.08.24

[Do it! 점프 투 자바] 03.자바의 기초 - 자료형 (형 변환과 final)

* 본 게시물은 이지스퍼블리싱 [Do it! 점프 투 자바] 서평단 미션 수행 및 학습 목적으로 작성하였습니다. 모든 내용, 디자인, 이미지, 편집 구성의 저작권은 이지스퍼블리싱(주)와 지은이에게 있으며 학습 목적으로 내용을 재구성하여 작성했음을 밝힙니다. 문제시 삭제하도록 하겠습니다. 03-11 형 변환과 final 앞서 자바에서 사용하는 주요 자료형을 배웠다면 이제는 자바의 형 변환 과 final에 대해 알아보자. 형 변환이란 자료형을 다른 자료형으로 바꾸는 것이다. 예를 들어 123과… wikidocs.net 형 변환 public static void main(String[] args) { String num = "12345"; int n = Integer.parseInt(num); // 문자열을 ..

활동/독서 2023.08.23

String.valueOf()와 Integer.toString() 차이점은 Null 값 처리

03-11 형 변환과 final 앞서 자바에서 사용하는 주요 자료형을 배웠다면 이제는 자바의 형 변환 과 final에 대해 알아보자. 형 변환이란 자료형을 다른 자료형으로 바꾸는 것이다. 예를 들어 123과… wikidocs.net int number = 42; // Using String.valueOf() String stringValue = String.valueOf(number); // "42" (string) // Using Integer.toString() String intValue = Integer.toString(number); // "42" (string) String.valueOf()와 Integer.toString() 둘 다 정수 값을 문자열로 반환하는 메서드인데 차이점이 무엇인지 궁..

활동/호기심 2023.08.23

해시함수 정리 (Hash 충돌 발생 원인과 해결방법 / Hash Table과 Hash Map 차이점)

1.해시 함수란? 2.해시 충돌이란? 3.해시 함수를 사용하는 자료구조 승원이가 어제 퇴근시간 직전 내줬던 숙제를 하루종일 고민하고 공부하며 열심히 정리해봤다. 참고한 출처는 키워드, 문장에 삽입해놨으니 부족한 내용이 있거든 이동해 확인하시길 바란다. 1. 해시 함수란 무엇인가? 임의의 길이를 가진 데이터를 입력받아 고정된 길이의 값, 즉 해시값을 출력하는 함수 입력값의 길이가 달라도 출력값은 언제나 고정된 길이로 반환 동일한 값이 입력되면 언제나 동일한 출력값을 보장 (항상 동일한 해시값을 가짐) 암호 알고리즘에서는 키가 사용되는 반면, 키를 사용하지 않기 때문에 같은 입력에 대해 같은 출력이 나오게 되기 때문에 메세지의 오류나 변조를 탐지할 수 있는 무결성을 제공하기 위해 사용 블록체인에서 해시 함수..

활동/호기심 2023.08.22

[Java] HashMap과 HashSet 차이점

한눈에 보는 차이점 HashMap HashSet 정의 Map Interface 구현체 Set Interface 구현체 데이터 삽입 put() (key-value 형태의 한 쌍의 데이터를 저장) add() 데이터 저장 key-value 형태로 데이터를 저장 key 값으로 삽입되는 객체 자체를 저장 (속도가 느림) 중복 허용 중복 key X , 중복 value O (객체 자체를 저장하기 때문에) 데이터 중복 X null 값 key는 단 하나만 허용 / value는 중복 null 허용 단 하나의 null 값만 허용

공부/Java 2023.08.21

[Do it! 점프 투 자바] 03.자바의 기초 - 자료형 (HashMap의 Key, Value / enum 장점과 예시)

* 본 게시물은 이지스퍼블리싱 [Do it! 점프 투 자바] 서평단 미션 수행 및 학습 목적으로 작성하였습니다. 모든 내용, 디자인, 이미지, 편집 구성의 저작권은 이지스퍼블리싱(주)와 지은이에게 있으며 학습 목적으로 내용을 재구성하여 작성했음을 밝힙니다. 문제시 삭제하도록 하겠습니다. 03-08 맵 사람을 ‘이름 = 홍길동’, ‘생일 = 몇 월 며칠’ 등으로 구분할 수 있듯이 맵(Map) 은 대응 관계를 쉽게 표현할 수 있게 해주는 자료형이다. > 맵은 다른 언어에도 있는… wikidocs.net 맵 맵은 리스트나 배열처럼 순차적으로(Sequential) 요솟값을 구하지 않고 키(key)를 이용해 값(value)을 얻는다. put key와 value를 추가한다. get key에 해당하는 value를 얻..

활동/독서 2023.08.21

자바 제네릭(Generic) 정의와 사용하는 이유 정리

Generic Types (The Java™ Tutorials > Learning the Java Language > Generics (Updated)) The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases and might use technology no longer available. See Java Language Changes for a summary of updated docs.oracle.com 제네릭(Generic) 클래스 내부에서 사용할 데이터 타입을 외부에서 ..

활동/호기심 2023.08.21

[Do it! 점프 투 자바] 03.자바의 기초 - 자료형 (증감연산 / Wrapper 클래스 / StringBuffer / List)

* 본 게시물은 이지스퍼블리싱 [Do it! 점프 투 자바] 서평단 미션 수행 및 학습 목적으로 작성하였습니다. 모든 내용, 디자인, 이미지, 편집 구성의 저작권은 이지스퍼블리싱(주)와 지은이에게 있으며 학습 목적으로 내용을 재구성하여 작성했음을 밝힙니다. 문제시 삭제하도록 하겠습니다. 03장 자바의 기초 - 자료형 자료형(data type)이란 데이터의 종류와 크기를 결정하는 기본 구성 요소로 숫자, 문자열처럼 자료 형태로 사용하는 모든 것을 뜻한다. 프로그램에서 가장 기본적이면서 핵심 단… wikidocs.net 증감 연산 ++, -- 기호를 이용하여 값을 증가 또는 감소시킬 수 있는데 증감 연산자라고 한다. System.out.println(i++); 결과로 1이 아닌 0이 출력되었다. 그 이유는 ..

활동/독서 2023.08.18

[Do it! 점프 투 자바] 02.자바 시작하기 (변수와 자료형 / 이름 짓는 규칙 / 주석)

* 본 게시물은 이지스퍼블리싱 [Do it! 점프 투 자바] 서평단 미션 수행 및 학습 목적으로 작성하였습니다. 모든 내용, 디자인, 이미지, 편집 구성의 저작권은 이지스퍼블리싱(주)와 지은이에게 있으며 학습 목적으로 내용을 재구성하여 작성했음을 밝힙니다. 문제시 삭제하도록 하겠습니다. 11-02 public 클래스 여기서는 클래스를 작성할 때 약간 혼란스러울 수 있는 부분을 설명하려고 한다. class와 public class의 차이점에 대해서 알아보자. 다음과 같은 클래스 파일을 MyP… wikidocs.net 자바 코드의 가장 바깥쪽 영역은 클래스 블록으로 사용자가 마음대로 이름을 지을 수 있다. 단, 클래스명은 소스 파일의 이름과 똑같이 사용해야 한다. ex) 클래스명.java public cla..

활동/독서 2023.08.18
반응형