전체 글 (43) 썸네일형 리스트형 (JAVA) ArrayList, LinkedList 컬렉션의 전반적인 설명은 아래 링크를 참고하자. https://acid7937.tistory.com/37 다들 배열을 기억할 것이다. 배열의 규칙에 대해 다들 잘 알겠지만. 예시로 숫자 5개를 입력하고 싶을때. int[] arr = {1,2,3,4,5}; for (int number : arr) { System.out.print(number + "\t"); } 뭐... 이렇게 5개를 사전에 입력해서 사용해도 괜찮지만. 내가 프로그램 실행해서 직접 입력하고 싶다면? 여기서 뭘 어떻게 할것인가? 이것말고 new 써서 초기화한뒤 배열 크기 지정 하는걸 알 것이다. Scanner scan = new Scanner(System.in); int count=1; int[] arr1 = new int[5]; for(i.. (JAVA)Collection Framework 컬렉션(Collection)이 뭘까. 수집이라는 뜻이 있다는걸 알것이다. 자바에서 컬렉션은 여러 데이터(객체) 들을 모아 놓은 것을 말한다. 프레임워크(Framework)는? 어려운 개념일수는 있다. 프레임은 "틀" 이라는 뜻이 있다. 즉, 틀을 정해서 작업하는 것이다. 뭔소리일까. 프레임워크는 개발자가 코드를 짤때 규칙들을 정해준다. 이거할때는 이걸 지켜야된다 같은것들 말이다. (안드로이드 핸드폰을 만들때는 하단에 USB-C 타입을 넣어야해.) 과거에는 사람들이 자기들 마음대로 규칙없이 프로그램 설계를 하다 보니 다른 사람이 이어서 개발,유지보수 할때는 가독성이 지옥이였다고 한다. 그래서 선배 개발자들이 프레임워크 라는 것을 도입하여 이 기능 쓰고 싶으면 여기에다 넣어 혹은 이 기능 쓰고 싶으면 이것도.. (JAVA)제네릭 이번에는 제네릭 이라는 중요한 기능을 알아볼 것이다. 제네릭은 다음에 게시할 컬렉션에서 중요하게 다루는 핵심 기능이다. 설명하기에 앞서 제네릭의 장점을 설명하자면. 1.코드의 중복을 줄일수가 있다. 2.타입의 안전성을 확보하고 오류를 방지한다. 이렇게 2가지가 있는데 이해는 안가겠지만 장점을 계속 기억하며 아래 글을 읽어보자.(결국 다 이야기 할꺼임) 1. 코드의 중복을 줄일수가 있다. 제네릭 사전에 검색하면 포괄적인 이라는 뜻을 보여준다. 뭘 포괄 한다는 것일까. 바늘이 있다. 바늘은 한의사가 침을 놓을때 쓸수도 있고 아니면 옷을 수선 할때 사용할수도 있다. 바늘의 사용법을 사용자의 목적에 맞게 사용자가 스스로 정의 할수 있는 것이다. 우리는 어떠한 값을 넣을때 타입이 중요하다는 것을 잘 알고 있다. .. (JAVA) Object 클래스 toSting(), hashcode() 다음으로 toString을 살펴보겠다. toSting()은 객체를 문자열로 변환을 시켜주는 메서드 이다. 보통 개발자들은 toString을 사용하여 객체가 무슨 값을 가지고 있는지 직접 확인하는 용도로 사용을 한다. 바로 살펴보자. class dog { String crying; int number; dog(String crying, int number) { this.crying = crying; this.number = number; } public boolean equals(Object obj){ dog d = (dog)obj; return this.crying == d.crying; } } class Main { public static void main(String[] args) { dog poo.. (JAVA) Object 클래스 equals() 우리는 클래스와 메서드에 대해서 이미 학습을 하였다. 간단히 이들에 대해서 다시 한번 생각해보자. 자바에서 기본으로 제공하는 클래스들이 있었다 예를들어 math,System 혹은 Arrays 같은 클래스들 말이다. 해당 클래스들 안에는 메서드들이 정의되어 있다. 예를들어 math.abs()를 사용하면 math 클래스 내부에 있는 abs() 사용하여 절대값을 출력하게 되며, math.random()을 사용하면 랜덤 값을 얻을수 있었다. 이렇게 수많은 클래스들이 사용자의 편의를 위해 미리 정의되어 있으며 추가로 지금 까지 우리가 필요하면 클래스를 직접 정의해서 사용하곤 하였다. 이야기가 다소 길어졌지만 사실 모든 클래스는 숨김처리 되어있지만 Object 라는 클래스를 extends Object 하여 이미 상.. (JAVA) enum 우리가 int형인 i 란 변수를 선언할때 int i; 이렇게 작성하였다. 이후 i 값에 어떤 값을 넣으면 i 값은 항상 변하였다. 그래서 우리는 이걸 변수라고 불렀다. 상수는 무엇일까? 상수란 변하지 않는 값을 말한다. final int PI = 3.1415; final을 사용하면 쉽게 상수를 만들수 있었다. 그런데 만약 상수의 이름이 겹치면 어떨까? final int mouse =1; final int keyboard =2; final int monitor =3; final int mouse =1; final int cat=2; final int dog=3; 나중에 코드가 몇 만줄 일때 구분하기 편하게 1번 항목 2번 항목 처럼 숫자를 1,2,3 을 주었다. 그런데 첫번째 상수들은 컴퓨터 주변기기를 쓰.. (JAVA) 예외 코딩을 하다 보면 코드를 잘 못 짜서 에러가 발생하고 빨간 글씨 뜨며 프로그램이 멈추는걸 본적 있을것이다. 하지만 오류가 out of memory 같은 프로그램 실행 자체에 영향을 주는것이 아닌, 작은 오류 라면 그걸 자바는 예외 라고 부르기로 했다. 즉 에러(Error)는 컴파일,런타임 에러 같은 프로그램의 자체적인 문제. 그것이 아닌 우리가 해결할수 있는 범주에 있는 오류는 예외(exception) 라고 부른다. 컴퓨터 혹은 휴대폰에 있는 계산기를 실행 시켜보자 어떤 값을 입력하고 0으로 나누어 보자. 뭐라고 뜨는가? 상식적으로 수는 0으로 나눌수가 없다. 그건 계산기를 쓰는 사람들이 알아야할 법칙이다. 하지만 입력한다면 프로그램마다 다르겠지만 대부분 0으로 나눌수 없습니다 라고 개발자가 사전에 작성.. (JAVA)다형성 다형성 사전적 의미를 보면... 다형성(polymorphism)이란 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 의미합니다. 자바에서는 이러한 다형성을 부모 클래스 타입의 참조 변수로 자식 클래스 타입의 인스턴스를 참조할 수 있도록 하여 구현하고 있습니다. 역시 사전이 하는 소리는 한번에 이해하기가 힘들다. 다형성 말만 보면 다는 다수에다가...음... 형은 형태인것 같은데....? 성은.... 잘 모르겠네... 아마 견디는건가...견딜성? 그렇다 다양한 형태가 다형성이다 뭐 어렵게 생각할것 없다. 우리가 추상화를 배울때 부모는 이름만 만들고(선언부) 기능은 자식이 싹다 만드는(구현부) 형태인것을 확인해 봤다. 그리고 인스턴스화를 시키는 법도 잘 알것이다. 예시) child c1 = new chi.. 이전 1 2 3 4 5 6 다음