목록JAVA (42)
코딩항해기
생성자클래스 이름 뒤에 소괄호가 있는 형태로, 생성자는 리턴이 정해져있기 때문에 생략한다.객체를 생성할 때 실행되는 코드가 작성되어있어, 주로 해당 클래스의 필드를 초기화 하는 목적으로 사용한다.클래스 선언시 자동으로 자바 컴파일러가 기본 생성자를 만들어준다.기본 생성자는 매개변수가 없고 클래스의 필드를 초기화하는 역할을 하며,생성자를 직접 선언한 뒤에는 더는 제공되지 않는다.기본 생성자 public 클래스명(){} 생성자 오버로딩매개변수의 타입, 개수, 순서가 다르면 생성자를 여러 개 선언할 수 있다.생성자에는 this()가 쓰일 수 있으며 객체의 필드값임을 명시하기 위해 this도 사용된다. this, this()this현재 객체를 가리키며, 객체 내에서 this 키워드를 사용하면 현재 객체의 속성과..
배열Array 같은 자료형의 여러 데이터를 저장할 수 있는 자료구조 배열 같은 자료형의 변수를 지정하여 여러 데이터를 저장할 수 있는 저장공간이다.이렇게 여러 데이터를 담을 수 있는 구조를 자료구조(data structure)라고 한다.배열에 담아 값을 저장하면 heap메모리에 선언된 크기와 값만큼 독립된 공간이 연속적으로 생성된다. 배열 생성 조건배열을 만들기 위해서는 3가지 조건이 필요하다.저장할 데이터들의 타입이 모두 한 가지로 일치해야한다.저장할 데이터들의 크기(길이)를 알아야한다.배열에 저장할 데이터들은 서로 관련성이 있어야한다. (ex. String[] 꽃 = {"개나리", "장미", "국화"};) 배열 선언int[] arr;//자료형[] 변수명; 배열 생성//크기를 아는 경우int[] ..
컬렉션 프레임워크 Collection Framework 자료구조 중 하나로 클래스들의 집합많은 데이터를 쉽고 효과적으로 관리할 수 있는 표준화 된 방법 자료구조 의미없는 데이터를 하나의 정보로 만들어주는 알고리즘들의 집합이다.수집한 자료를 저장하는 방법이다. 컬렉션 프레임워크 (Collection Framework)자료구조 많은 데이터를 쉽고 효과적으로 관리할 수 있는 표준화된 방법을 제공하는 클래스들의 집합 Collection 특징구현클래스List순서를 유지하고 저장 (index) 중복 저장 가능 ArrayList, LinkedList, Voctor Set순서를 유지하지 않고 저장 중복 저장 불가능 HashSet, TreeSet Map키와 값으로 구성된 엔트리 저장키값은 중복될 수 없다. (..
연산자수학적 의미로 연산에 사용되는 기호 연산자 구분피연산자 개수에 따라 단항(1개), 이항(2개), 삼항(3개)로 구분한다.연산자 구분종류연산자기능단항부호+ - * / %사칙연산, 나머지 계산증감++ --음수, 양수 부호논리!논리 부정이항논리& | && ||논리곱, 논리합문자열+문자열 연결대입= += -= *= /= %=우변의 값을 좌변에 대입비교== != > = 값 비교삼항조건식조건식? T : F조건식 결과에 따라 true라면 T, false라면 F 연산자 우선순위우선순위종류연산자항연산 방향(높음)최우선 연산자괄호 () []다양→ 단항 연산자증감 ++ -- (전위형/후위형) 부호 + - 비트 ~ 논리 !단항 ← 산술 연산자산술 * / % + -이항 → 쉬프트 >> >> 비교 연산자비교 > = ..
인터페이스 일종의 추상클래스지만 클래스라고 부르지 않으며, 추상화 정도가 높다.관련 키워드로는 다중상속, 모호성, Adapter, 마커인터페이스 등이 있다. [요약]다중상속java는 다중상속을 지원하지 않지만 인터페이스에 한해 다중구현을 허락하고 있다.즉, 클래스는 하나의 클래스만 상속가능, 여러 개의 인터페이스를 구현 가능 모호성 두 개의 인터페이스에 같은 메서드 시그니처를 가진 메서드 선언 시 모호성 발생 -> 오버라이딩으로 해결 부모클래스와 인터페이스의 메소드가 동일하게 선언 시 모호성 발생 -> 상속 우선 순위가 더 높아 부모 메소드가 사용됨. Adapter 추상클래스인터페이스의 강제성을 완화시키기 위해 Adapter클래스를 활용인터페이스(모든 강제성) -[구현]-> 추상클래스(일부구현하여 강..
[멘토시리즈] 자바 리뷰하기 - 1. 자바 프로그래밍의 기초 JAVA자바는 1991년 선 마이크로시스템즈의 제임스 고슬링을 비롯한 연구원들에 의해 개발된 객체 지향 프로그래밍 언어이다. Oracle에서 인수하여 자바 개발도구를 배포하고 기술적 지원을 하고 있다. 자바의 역사C와 C++언어는 플랫폼에 종속적인 언어라 각각 컴파일이 필요했고, 이로 인한 비용, 시간 소모가 크다는 단점이 있었다. 이를 보완하기 위해 오크를 개발하게 되었으나 인터넷 등장과 함께 방향성을 수정하며 자바(JAVA) 이름을 가지게 되었다. 자바의 특징1. 객체 지향 언어 2. 단순성 3. 이식성 4. 멀티 스레드 지원 (Multi-Thread) 5. 가비지 컬렉터 (GC:Garbage Collector) - 메모리 관리 6. 풍부한..
다형성 polymorphism 하나의 것이 여러 형태를 가질 수 있는 성질 오버로딩, 오버라이딩, 업캐스팅, 다운캐스팅, 인터페이스, 추상메소드, 추상클래스 등이 있다. 다형성 (polymorphism)하나의 것이 여러 형태를 가질 수 있는 성질을 의미한다.컴파일 형성 다형성오버로딩(Overloading)이 이에 속한다. [JAVA] 오버로딩 (Overloading), this, this()오버로딩 (Overloading)다형성 중 하나로,오버로딩(메소드 오버로딩, 생성자 오버로딩), 오버라이딩(재정의), 참조변수의 다형성이 다형성에 속한다. 그 중 오늘은 Overloading과생성자 오버라이딩minibcake.tistory.com 런타임 다형성오버라이딩(Overriding), 추상메소드, 추상..
Up casting상속 관계인 자식의 값을 부모 타입으로 형변환 (자동형변환) 부모 클래스에 있는 변수나 메소드만 사용할 수 있다. ex) 부모타입 a = new 자식생성자(); Down casting업캐스팅된 객체를 다시 자식 타입으로 형변환 (강제형변환)자식 클래스에만 있는 변수나 메소드를 사용할 수 있다. ex) 부모타입 a = new 자식생성자(); 자식타입 b = (자식타입) a; Casting하나의 데이터 타입을 다른 타입으로 바꾸는 것을 타입 변환 혹은 형변환(캐스팅)이라고 한다. (원시타입, 문자열 형변환은 이전 발행글 참조) [JAVA] 자동형변환, 강제형변환, 문자열(String)형변환Java에는 데이터 타입을 바꾸는 형변환(casting)이 있다. 오늘은 그 중 세 가지 형변환에 ..
먼저 결론부터 이야기하면 자바는 Call by Reference방식을 지원하지 않는다.C언어와 달리 자바에서는 포인터를 숨겨 직접 메모리 주소에 접근하지 못하기 때문이다.Call by Reference 같은 모습을 보여줄 수 있지만, 값을 불러오는지 참조값을 불러오는지의 차이일 뿐,실제 Call by Reference는 아니다. Call by Value, Call by Reference ?Call by ~~란, 메소드 호출 시 매개변수를 전달하는 방식을 의미한다.값의 의한 호출인 Call by Value와 참조에 의한 호출인 Call by Reference로 분류된다. Call by Value (pass by value) 값에 의한 호출호출 메소드에 인수로 전달되는 것은 변수의 '값'으로 메소드 내에..
함수클래스에 속하지 않고 독립적으로 존재하는 코드 블록이다. 메소드클래스 안에 선언되어있고, 단독적으로 사용 가능한 기능을 가진 코드 블록이다. 어떠한 기능 코드들의 묶음 이름 뒤에 소괄호가 온다. 단, 키워드(if, while 등) 뒤에 오는 소괄호 형식은 메소드가 아니다. 자바에서는 모든 메소드를 클래스 내에서 선언해야하기 때문에 따로 함수가 없다.메소드 선언과 구현(정의)리턴타입 메소드명 (자료형 매개변수) { //선언부 == 메서드 시그니쳐 //구현부 실행할 문장; return 리턴값; //리턴타입이 없다면(void) 생략함 } 메서드 시그니쳐리턴타입 메소드명 (자료형 매개변수) 부분을 메서드 시그니쳐라고 한다. 선언부라고도 한다.리턴타입 반환할 값이 있다면 반환값의 자료..