본문 바로가기

728x90
반응형

프로그래밍/자바

(113)
[자바/기본] Generic 이란? 이전글에 Wrapper 클래스에 이어서 Generic에 대해서 포스팅 하고자 한다. Generic 클래스란? generic의 사전적 의미는 일반적으로 라는 뜻 클래스의 멤버변수 혹은 메소드의 리턴 타입이나 매개변수의 리턴타입을 지정하지 않고 일반적으로 정의 하는 클래스 본인은 사용자가 원하는 클래스로 사용하고 싶을때 사용할 수 있는 "다형성" 을 만족시켜줄 수 있는 클래스라고 이해 원하는 동작을 같지만 데이터 타입만이 다른 경우 Generic으로 설계함으로써 코드 생산성을 향상시킬 수 있다! (많은 블로거들이 꺽쇠 라는 단어로 표현) 안에 타입매개변수 (type parameter)를 지정한다. [Java7 이후 Diamonds 라는 표현을 많이 쓴다고 함] Why Generic 클래스? 앞서 설명했다 시..
[자바/기본] Wrapper 클래스란? (Boxing, UnBoxing) Wrapper 클래스란? 자바의 기본 자료형 (primitive type)을 감싸는 클래스 기본자료형 : boolean, char, byte, short, int, long, float, double Wrapper : Boolean, Char, Byte, Short, Integer, Long, Float, Double 앞에가 대문자로 시작하면 Wrapper구나~ 로 본인은 인식 String 처럼 Wrapper클래스는 immutable (불변성)을 가진다. String과 불변성에 대한 설명은 https://jk25.tistory.com/173 Wrapper Class 의 계층도 WHY Wrapper 클래스? 기본 자료형의 변수의 값을 가지는 객체를 생성해야할때 사용할 수 있다. EX) 자바의 메소드 혹은 ..
[자바/기본] String 클래스/ StringBuilder / StringBuffer / StringTokenizer String이란? 문자열이라고 불리는 클래스이다 문자열이란 char형 변수가 이어진 형태 (char[]), 따라서 String은 기본 자료형이 아닌 클래스 이다. String의 특징 불변성 (immutable) && 공유성 : 자바에서 String은 불변 즉, 변하지 않는다. 처음 만들어지는 String의 값은 저장이 되어있고, 그 값에 변경을 줄 때, 새로운 값으로 저장이 되고 그 값을 가르키게 된다 (불변성). 또한, 변경을 준 값이 이미 메모리에 저장되어있을 때, 그 값의 주소값을 가르키게 된다(공유성). public class Main { public static void main(String[] args){ String str1 = "Hey"; // Hey라는 값이 저장 System.out.pr..
[자바/기본] 예외처리 Exception 예외 컴파일 에러는 문법상의 오류로 컴파일러가 고쳐주는 경우가 많다 예외 (Exception) 은 문법상의 오류가 아닌 실행중에 발생되는 오류 상황을 말한다. 기본적으로 예외가 발생되면, 예외 관련 메세지를 출력하고 프로그램이 종료된다. 예외 객체층 java.lang.Object |__ java.lang.Throwable | |__ java.lang.Exception : 복구 가능 | | | |__ java.lang.RuntimeException | | |__ ArithmeticException, NullPointerException, ArrayIndexOUtOfBoundsException ... | | | |__ IOException, ParseException ... | |__ java.lang.Er..
[자바/기본] 인터페이스 Interface + 추상 클래스 Abstract + 다형성 Polymorphism 인터페이스 자식 클래스가 여러 부모 클래스의 상속을 받을 수 없는 자바의 특성 때문에 다중 상속의 이점을 버리지 않기 위해서 인터페이스를 통해 다중 상속을 지원하고 있음 인터페이스는 추상 메소드 및 상수 만을 포함한다 (추상 클래스는 생성자, 필드, 일반 메소드 포함 가능) 인터페이스 알아야 할 사항 모든 메소드가 public abstract 으로 선언되고 모든 멤버 변수는 public static final로 선언된다. 따라서 위의 modifier들은 생략이 가능하다. 인터페이스를 선언 할 때, interface 라고 선언 상속 하는 클래스에는 implements 사용 (class 상속은 extends) 예제 public interface Testinterface { public static final..
[자바/기본] 상속 Inheritance 상속이 없다면 상속이 없다면 서로 연관성이 있는 INSTANCE 두개를 선언해 주어야한다. 이는 코드의 재사용성이 전혀 없는 코드가 된다. 예제 public class Inherit01Main { public static void main(String[] args) { BasicTV tv1 = new BasicTV(); tv1.isPowerOn = true; tv1.volume = 10; tv1.channel = 5; tv1.displayInfo(); SmartTV tv2 = new SmartTV(); tv2.isPowerOn = true; tv2.channel = 123; tv2.volume = 12; tv2.ip = "192.168.0.111"; tv2.displayInfo(); System.out...
[자바/기본] Modifier 제어자 Modifier 란? 클래스나 변구, 메소드의 선언부 앞에 붙여주어 부가적인 제어를 할 수 있도록 도와줌 Access Modifier (접근 제어자) : 멤버 변수, 멤버메소드에 대한 접근 권한을 제한한다. private : '자기 자신' 이 선언된 클래스 에서만 사용 가능 protected : 자기 자신' + '같은 패키지' + '상속받은 클래스'에서 사용 가능 (다른 패키지의 클래스라도 상속 받으면 사용 가능) public : 어디서든지 사용 가능 (default) : '자기 자신' + '같은 패키지' 에 있는 클래스들에서 사용 가능 접근 제어자의 사용 범위 : private public, defaul..
[자바 / 기본] Class란? 클래스 (Class)의 정의 + 생성자 클래스 : 사용자가 만들고자 하는 대상의 "상태" 와 "기능" 을 함께 가지고 있는 "데이터 타입 "상태" 는 클래스의 멤버 변수(member variable), 속성(attribute) 혹은 필드(field) 로도 표현 "기능" 은 클래스의 멤버 메소드(member method)로 정의 하고 행동(behavior) 로도 표현 일반적으로 멤버 변수는 private 멤버 메소드는 public 으로 설정 - 클래스를 사용하기 위해서는 해당 클래스의 "인스턴스" 또는 "객체" 를 생성해야함 - [구문] 클래스이름 변수이름 = new 생성자(); - 생성자란 클래스의 이름과 동일하고 클래스의 멤버변수들을 초기화하는 역할 생성자의 목적은 인스턴스 생성 시 멤버 변수들을 초기..

728x90
반응형