본문 바로가기

java에 해당하는 글들

18 Articles matched
목록이 없습니다.
[JAVA] 내부클래스 내부 클래스의 종류 내부 클래스는 클래스 안에 다른 클래스를 선언하고 활용하는 것인데 이는 멤버변수와 같이 선언되는 위치에 따라서 종류가 나뉜다. 사용되는것도 멤버변수와 비슷하다. (JDK 1.1 이후에 추가된 기능)내부클래스는 주로 AWT나 Swing과 같은 GUI어플리케이션의 이벤트처리 외에는 잘 사용하지 않을 정도로 사용빈도가 높지 않기 때문에 내부 클래스의 기본 원리와 특징을 이해하는 정도까지만 학습해도 충분하다. 내부 클래스의 종류는 다음과 같다1. 멤버 내부 클래스- 멤버 변수 선언하는 위치에 정의하는 내부 클래스- 외부 클래스의 인스턴스가 생성되어야만 객체 생성 가능- 주로 인스턴스 멤버들과 관련된 작업에 사용될 목적으로 선언2. static 내부 클래스 (중첩클래스)- 멤버 변수를 선언하는..
[JAVA] 다형성 다형성이란? 자바에서 다형성은 객체지향 개념의 중요한 특징 중 하나다. 다형성이란 '여러 가지 형태를 가질 수 있는 능력'을 말한다. 가장 쉬운 다형성의 예제로는 지난 시간 정리했던 오버로딩이 있다. 또한 자바에서는 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 함으로써 다형성을 프로그램적으로 구현하였다. 쉽게 말해서 부모 클래스 타입의 참조변수로 자식 클래스의 인스턴스를 참조할 수 있도록 하였다는 것이다. 12345678910111213class Tv { boolean power; // 전원 상태 (on/off) int channel; // 채널 void power() { power = !power } void channelUp() { ++channel; } void channelDown(..
[JAVA] 오버라이딩 및 패키지 개념 정리 오버라이딩 저번에 놓친 조건으로는 조상 클래스의 메서드보다 많은 수의 예외를 선언할 수 없다는 점. 예를들어 다음과 같은 코드가 있다. 1234567891011Class Parent { void parentMethod() throws IOException, SQLException { }} Class Child extends Parent { void parentMethod() throws IOException { }}Colored by Color Scriptercs- 올바른 오버라이딩 여기서 문제는 단순히 선언된 예외의 개수가 문제가 아니라는 점이다. 12345Class Child extends Parent { void parentMethod() throws Exception { }}Colored by C..
[JAVA] 오버로딩 개념 (feat.오버라이딩) JAVA 오버로딩 자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다. 같은 이름의 메서드를 정의한다고 해서 무조건 오버로딩은 아니고 다음과 같은 조건을 만족해야 오버로딩이 성립한다. 1. 메서드의 이름이 같아야 한다. 2.* 매개변수의 개수 또는 타입이 달라야 한다. 역지사지로 컴파일러의 입장이 되었을 때 이름이 같은 메서드에 매개변수의 개수나 타입이 같다면 서로 구별이 되지 않을 것이다. 즉, 중복 정의가 되어 버린다. 그렇기 때문에 위의 조건을 만족해야 오버로딩된 메서드들이 매개변수에 의해서 구별이 될 수 있다. * 반환 타입은 오버로딩을 구현하는데 아무런 영향을 주지 않는다. 오버..
[JAVA] 메서드(Method) 목차 1. 선언 위치에 따른 변수의 종류 2. 자바 메서드 2-1. 메서드 구성요소 2-2. 메서드 흐름 2-3. 매개변수 유효성 검사 선언 위치에 따른 변수의 종류 자바에서는 클래스 안에 변수와 메서드가 존재하는데 이 안에서도 어느 영역에 선언을 해주느냐에 따라 종류가 달라지고 생성시기가 다르다. 12345678910Class Variables{ int iv; // 인스턴스 변수 static in cv; // 클래스 변수 (static 변수, 공유 변수) void method() { int lv = 0; // 지역변수 }}Colored by Color Scriptercs 위의 코드처럼 클래스를 생성해준 경우 각 변수들의 차이는 다음 표와 같다 변수의 종류 선언 위치 생성시기 클래스 변수 클래스영역 클래..
[JAVA] 배열 (Array) 배열은 거의 모든 프로그래밍 언어에 공통적으로 존재하는 자료형이다언어에 따라 각자 특성에 맞게 조금씩 차이가 있는데자바의 배열은 어떤 차이가 있는지 알아보자 배열(Array) 이란? 배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것예를들어 학생 10000명의 점수를 변수에 저장해야 하는 경우 배열이 없다면10000개의 int 타입의 변수를 선언을 해주어야 하는 난감한 상황이 벌어진다. 123456int score1;int score2;.........int score10000;cs 이런 번거로움을 배열을 이용하면 한 줄로 선언할 수 있다 1int[] score = new int[10000]cs 배열의 선언과 생성 자바의 배열은 선언과 생성이 나누어져 있는데선언은 참조변수를 위한 공간을 만드는 것..
[JAVA] JVM 동작원리 및 기본개념 JAVA라는 언어를 통해 코딩을 하고 있는 사람으로서 JAVA의 간단한 탄생배경 그리고 JAVA의 시작과 끝이라고 할 수 있는 JVM을 한 번 짚고넘어가려고 해요 우선 JAVA의 탄생배경을 좀 알고가면 이해하기 더 좋을 듯 싶어서 먼저 정리해 봅니다 목차는 다음과 같습니다 1. JAVA 탄생 배경 2. 자바 코드(JAVA Code) 실행 과정 3. JVM 동작원리 및 기본개념 3-1. 클래스 로더 (Class Loader) 3-2. 런타임 데이터 영역(Runtime Data Area) 3-3. 실행 엔진(Execution Engine) JAVA 탄생배경 JAVA는 썬 마이크로시스템즈의 제임스 고슬링이라는 사람과 다른 연구원들이 개발한 프로그래밍 언어에요 1991년 그린 프로젝트(Green Project)..
[Java] File.mkdir(), File.mkdirs() 차이 Java File Method Spring Framework 위에서 웹 개발을 하던 중에 파일 업로드 및 다운로드를 구현하다가 사용되고 있던 File.mkdirs() , File.mkdir() 의 차이가 갑자기 궁금해져서 검색을 하게 되었어요 간단한 차이지만 까먹지 않기 위해서 정리! File.mkdir() vs File.mkdirs() 두 가지 다 디렉토리를 생성하는 Java API인데요 차이는 간단합니다 File.mkdir() 만드려는 디렉토리의 상위 디렉토리가 존재하지 않는 경우 디렉토리 생성 불가 File.mkdirs() 만드려는 디렉토리의 상위 디렉토리가 존재하지 않는 경우 상위 디렉토리도 생성 예를들어 아래와 같은 파일 구조를 보자 123ㅏㅡGrandDir ㅏㅡParentDir ㅏㅡChildD..