본문 바로가기

프로그래밍/Java

(49)
19.12.26) Java - 유레카 멤버 변수는 선언만 해도 자동으로 0 or null or false로 초기화 된다. int = 0; boolean = false; String = null; double = 0.0; public class A{ private int count; // 자동으로 0 }
19.12.26) Java - 나만의 API 만들기(IntArray) 목차 나만의 API 만들기 IntArray 만들기핵심 API는 이해하고 사용하기에 조금 더 편하다. 나만의 API 만들기 우리가 배열을 사용하고 싶으면 자바에서 기본으로 제공하는 배열을 사용하면 된다. 하지만 배열을 사용하기 위한 기본 문법은 다 알고 있어야 한다. 그걸 알지 못하면 사용하지 못한다. 이 때 배열과 비슷한 기능을 하는 API를 만들면 조금 더 직관적으로 배열을 사용할 수 있다. 메서드를 활용하기 때문에 조금 더 기능에 부합하게 메서드 이름을 만들 수 있다. IntArray 만들기 // 정수형 배열 기능하는 API만들기 public class IntArray { private int count; private int[] arr; // 배열 생성 public IntArray() { this(..
19.12.26) Java - 기본 API & String Class 목차 API(Application Programming Interface)란? 자바의 기본 API String class핵심 API는 여러 클래스가 합쳐져 기능을 하는 도구이다 API(Application Programming Interface)란? API란 프로그래밍 기초를 지나면 자주 만나게 되는 용어이다. 그럼 API는 무엇일까? 내 언어로 정리하자면 여러 클래스가 합쳐져 기능을 하는 도구이다. 프로그래밍은 절대 하나의 클래스, 프로그램으로만 이루어지지 않는다. 수십, 수백 개의 클래스들끼리 연결되어 하나의 프로그램이 만들어진다. 이 때 여러 클래스들은 뭉쳐져서 하나의 기능을 수행할 수 있다. 마치 레고 조각이 뭉쳐져서 큰 성이 만들어지는 것처럼 말이다. 그런데 이 API는 내가 만들 수도 있지만 ..
19.12.26) Java - Package 목차 Package(패키지)란? 외부에서 package 내부 클래스에 접근하는 방법 Default 접근권한핵심 Package는 여러 클래스를 모아 놓은 가방이다. Package(패키지)란? 패키지는 여러 클래스를 모아 놓은 단위를 말한다. 그럼 왜 패키지를 사용할까? 여러가지 이유가 있지만 간추려서 2가지가 있다. 기능이 비슷한 클래스를 모아서 관리를 쉽게 하기 위함 외부로 부터 접근을 막기 위함 (1번에 비해 빈도 수가 떨어진다.) 마치 가방이라고 생각하면 된다. 가방은 비슷한 물건끼리 넣을 수 있고, 외부로 부터 물체를 보호할 수 있다. 패키지도 이와 마찬가지다. 하지만 외부로 부터 접근을 막는 목적으로 자주 사용되지 않는다. 왜냐하면 클래스를 만드는 목적이 외부와 공유하기 위해 만든 목적일 가능성이..
19.12.25) Java - Object 목차 Object Class toString()핵심 Object는 부모의 부모의 부모다. Object Class Object 클래스는 모든 클래스의 root클래스이다 부모의 부모의 부모 기본적으로 하나의 클래스가 생성되면 자연스럽게 Object의 상속을 받는다. 즉, Object 클래스가 가진 기능을 활용할 수 있다. 많지는 않다 하지만 상속, 다형성 이론 배운 상황에서는 Object 클래스를 활용해서 조금 더 확장해서 사용할 수 있다. 처음 클래스가 생성되면 생략되는 코드가 3곳이 있다. import java.lang.* -> Object 클래스가 있는 패키지 public class A extends Object { -> extends 키워드 public A() { super() } -> Object ..
19.12.25) Java - Interface & JDBC 목차 JDBC(Java Database connectivity) programming JDBC에 인터페이스를 활용하는 방법핵심 인터페이스는 리모콘이다. JDBC(Java Database connectivity) programming JDBC programming은 자바를 이용해 데이터베이스를 조작하는 프로그래밍을 말한다. 데이터베이스 공급자는 여러 명이기 때문에 각 회사에서 만든 API는 다 다를 것이다. 기능은 유사해도 메서드의 이름이나 구현 방법은 다를 것이다. 그러면 자바에서 데이터베이스를 사용하려면 각 데이터베이스의 조작 방법을 전부 알아야 사용할 수 있다는 말이다. 근데 이 방법밖에 없을까? 아니다. 인터페이스를 활용하면 조금 더 편리하게 사용할 수 있다. 그럼 어떻게 인터페이스를 활용할까? J..
19.12.25) Java - Interface 목차 인터페이스와 추상클래스의 차이 상수가 올 수 있다. 인터페이스와 인터페이스의 상속 관계 다중 상속 관계 구현하기핵심 인터페이스는 다형성을 100% 보장하기 위해 사용한다. 인터페이스는 자식 클래스를 100% 핸들링할 수 있다 인터페이스와 추상클래스의 차이 인터페이스는 모든 메서드가 추상 메서드인 클래스를 말한다. 추상 클래스와의 차이는 모든 메서드가 추상 메서드라는 점이다. 즉, 구현 메서드는 절대 정의할 수 없다. 그럼 왜? 인터페이스와 추상 클래스는 나눴을까? 인터페이스는 서로 다른 기능을 가진 자식 클래스를 모아 다형성을 이용할 때 필요하다. 왜냐하면 구현 메서드가 없기 때문에 모든 자식 클래스에 적용되는 기능이 없다는 말이다. 각자 자식 클래스에서 부모의 메서드를 자기에게 맞게 overrid..
19.12.24) Java - abstract class VS interface 목차 Abstract class와 interface의 공통점 Abstract class와 interface의 차이점 핵심 둘 다 다형성을 보장하기 위해 만들어졌다. Abstract class와 interface의 공통점 다형성을 보장하기 위해 이용된다. 자식 객체에서 override를 해야 한다. upCasting으로 객체를 생성한다. 부모(리모콘)의 역할을 한다. Abstract class와 interface의 차이점 구현 메서드가 있느냐 없느냐의 차이 다중 상속이 불가능하냐 가능하냐의 차이 extends or implements 키워드 차이