프로그래밍 언어/JAVA 22

JAVA) 자바 패키지(Package)

패키지 개념 패키지는 어려울 거 없다. 그냥 우리 컴퓨터에 있는 폴더와 같다. 탐색기로 자바 파일이 있는 폴더로 들어가보면 패키지가 폴더의 형태로 되어있다. 같은 폴더안에 같은 이름의 파일이 올 수 없듯이, 한 패키지 안에 같은 이름의 자바 파일을 넣을 수 없다. 클래스가 100개정도 된다고 했을때 이름을 중복되지 않게 만들기는 어렵다. 중복된 이름이라도 패키지가 다르면 괜찮기에 분리하기 위해, 그리고 비슷한 기능끼리 묶어놓기 위해 패키지를 사용하다. 패키지 형태 프로젝트 안에 아무 패키지도 만들지않으면 (default package)라고 이름이 붙여진다. 패키지를 만들지 않았으니 Class 파일 상단에 패키지경로가 표지되지않지만 패키지를 만들면 파일 상단에 경로가 표시된다. => 다른 패키지에 있는 클..

JAVA) 자바 오버로딩(Overloading)

오버로딩 개념 이름은 같지만 받는 매개변수가 다른 메서드를 만드는것. 메서드가 하는 기능은 똑같은데, 처리 개수가 다르거나 자료형이 다를때 사용한다. 오버로딩의 특징 1) 같은 기능 2) 다른 매개변수 무슨 말인지는 아래 오버로딩의 대표적인(?) 예시 하나로 설명해보려 한다. 오버로딩 예시 엄청 자주 사용하는 System.out.println(); 에서 println()메서드도 오버로딩된 메서드다. println()은 우리가 괄호() 안에 무슨 자료형을 넣든 다 그대로 출력한다. 사실 구조적으로 생각해보면 자료형마다 출력방법이 다 따로따로 있어야 하는데 예를들어 int를 출력할때는 intPrintln, String은 stringPrintln 이런식으로 따로따로 있다고 생각해보면 프로그래밍 하기가 되게 힘..

JAVA) 자바 오버라이딩(Overriding)

오버라이딩 개념 오버라이딩은 "재정의". 기존의 것을 새롭게 정의하는것을 의미한다. 기존 것은 바로 부모 클래스를의미한다. 즉, 자바에서 오버라이딩은 부모가 가지고 있는 것을 가져와서 내꺼로 새로 만드는 것이다. 오버라이딩을 하기 전 알아야 하는 개념 자식객체로 A메서드를 호출했는데 자식한테는 없고, 부모에게 있으면 부모의 A를 호출한다. (마치 미성년자가 잘못한걸 해결할 능력이 없어서 부모를 부르는것과 같음..ㅎ) B객체로 method_A를 호출했는데 B한테 해당메소드가 없어서 A클래스로 가서 찾아서 출력했다. 이처럼 자식은 자신한테 없으면 상위클래스로 가서 찾는 특징이 있다. 오버라이딩 사용 이유 중복을 제거하기 위해. 클래스 A과 B가 똑같이 [펜을 만드는 작업]을 수행한다고 가정해보자. 만약 둘다..

JAVA) 자바 생성자(Constructor) 이해하기 및 정리

생성자를 처음 배웠을때는 잘 이해하기 힘들었지만 계속 찾아보니 이해가되며, 쉬운 개념임을 알았다. 이번 블로그에서는 내가 이해한 생성자를 비유해가며 적어보려고 한다. 1. 생성자 정의 지식백과에 나오는 생성자는 이렇게 적혀있다. 객체 지향 프로그래밍(OOP)에서 쓰이는 객체 초기화 함수. 객체의 생성 시에만 호출되어 메모리 생성과 동시에 객체의 데이터를 초기화하는 역할을 한다. 자바 파일을 실행하면 클래스가 메모리에 로딩되고, 클래스 안의 생성자가 호출되어 초기화를 진행한다. 초기화라는게 뭘까? 초기화라는것은 처음·기본값도 맞지만. 자바에서는 값을 넣는것을 초기화라고 한다. 자바에서 배열을 만들때 int[] arr; 을 선언한다고 하고, arr = {1, 2, 3} 이렇게 값을 넣는것을 초기화라고 한다...

JAVA) 기본 배열의 선언, 출력, 추가, 변경, 삭제, 찾기

1. 배열의 저장 공간메모리의 Heap영역안에 배열을 저장할 공간을 할당받는다.다른 int, double 등 기본 데이터타입은 변수가 그 데이터 자체를 저장하고있지만,배열은 변수가 배열이 저장된 주소를 가리킨다.  따라서 배열을 출력하면 값이 아니라 이상한값이 나온다. int a = 10;int arr3[] = { 1, 2 };System.out.println(a); // 10System.out.println(arr3); // [I@6f2b958e분명 배열에 {1, 2}를 넣었는데 출력해보니 다른게 나온다. 즉, 변수에는 배열이 저장된 장소의 주소값이 들어있는것이다.     2. 배열 선언자바의 기본 배열은 만들때 크기를 지정해야한다. 1) 선언만   선언만 하면 아직 메모리에 저장할 공간이 생기기 전..

JAVA) 클래스 변수와 인스턴스 변수

1. 클래스 변수와 인스턴스 변수. 클래스변수와 인스턴스 변수의 차이는 겉으로 봤을땐 static이 있고, 없고의 차이다. class A { static String st = "클래스 변수"; String inst = "인스턴스 변수"; } 메서드도 마찬가지로 겉모습이 static이 있고 없고의 차이 class A { .... static void static_method() { // 클래스 메서드 } void instance_method() { // 인스턴스 메서드 } } 2. 클래스 vs 인스턴스 접근성 클래스 메서드는 클래스 변수에 접근 가능 (O) 인스턴스 변수에 접근 불가능 (X) 인스턴스 메서드는 클래스변수, 인스턴스변수 둘 다 접근 가능 (O) 3. 메서드 호출 방법 클래스 안의 메서드를 호..

JAVA) String(문자열) 함수 모음

1. 문자열의 길이 .length() 공백포함해서 나온다. String s = "이 문장의 길이는?"; int result = s.length(); System.out.println(result); // 10 2. 대소문자 바꾸기 대문자로 바꾸기: toUpperCase() 소문자로 바꾸기: toLowerCase() 3. 특정 글자 위치찾기 indexOf("잧을 문자열") String s = "abcdefg"; System.out.println(s.indexOf("c"));// 0부터 시작해서 c의 위치 2반환. String s2 = "I want to go my home."; System.out.println(s2.indexOf("go"));// go가 시작되는 위치 10 반환. 4. 문자열 합치기 1)..

JAVA) JDK 설치 다운로드(8버전)

1. 설치파일 다운로드 아래 링크로 들어가 하단으로 내리면 8버전의 설치파일이 나와서 운영체제에 맞는걸로 다운받아 설치한다. 다운로드를 누르면 로그인을 하라고 나오는데, 로그인을 해야만 다운받을 수 있다. *처음이면 회원가입 필수! https://www.oracle.com/java/technologies/downloads/#java8-windows 2. 다운받은 jdk-8u311-windows-x64 실행 설치할때 해당 경로를 잘 기억해주세요! 3. 설치확인 설치한 폴더로 들어가 jdk와 jre가 잘 있는지 확인한다. 4. 환경변수 설정 1) 내PC 우클릭 > 속성 > 하단의 고급시스템 설정 2) 고급 > 환경변수 3) 시스템변수 > Path > 새로만들기 해당 위치로 가서 위에서 설치하고 나온 폴더 밑..

반응형