본문 바로가기

Java27

메서드 ( Method ) 영어 발음이다보니 사람따라 메소드 / 메서드 부르는 게 다른 것 같다. 메서드 ㅡ 특정 기능을 수행하는 문장들을 하나로 묶은 것 / 클래스 내에 존재 ㅡ 자바에선 메서드와 함수를 따로 구분지어 말하진 않는다. 메서드의 이점 높은 재사용성 - 한 번 만들어 놓으면 계속 호출 가능 중복 코드 제거 - 반복적으로 적어야되는 코드들을 메서드 내에 작성하고 메서드를 호출시키기만 하면 됨 프로그램 구조화 - 작업 단위로 여러 개의 메서드에 담아 프로그램 구조를 단순화 시킬 수 있다. 반환타입 메서드명 (데이터타입 매개변수명, ...) // declaration (선언부) { // implementation (구현부, 메서드 호출시 실행될 코드) } int sum(int a, int b) { return a+b; }.. 2023. 1. 5.
인스턴스 변수 / 클래스 변수(static) / 지역 변수 인스턴스 변수 [ Instance variable ] ㅡ 클래스 영역에서 선언 ( 멤버 변수? ), 클래스의 인스턴스를 생성할 때 만들어진다. ㅡ 인스턴스 변수를 사용하기 위해서는 먼저 인스턴스 생성 → Class 변수명 = new Class(); ㅡ 독립적인 저장 공간을 가지므로 서로 다른 값을 가질 수 있다. ㅡ 고유 상태를 유지해야하는 속성인 경우(자신만의 상태를 유지해야 하는 경우), 인스턴스 변수로 선언 클래스 변수 [ Class variable ] ㅡ 인스턴스 변수 앞에 static 붙인다. ㅡ 인스턴스를 생성하지 않고도 항시 사용 가능 / 클래스명.클래스변수명으로 바로 접근 가능 ㅡ 모든 인스턴스가 공통된 저장 공간 공유 ㅡ 한 클래스의 모든 인스턴스들이 공통값을 유지해야하는 속성인 경우, .. 2023. 1. 4.
객체 배열(Object Array) 객체 배열 ㅡ 한 종류의 객체를 배열로 여러 개를 생성할 수 있다. ㅡ 객체 배열 요소엔 객체의 주소가 저장 → 참조 변수 배열(참조 변수는 변수에 주소를 저장) 참조 변수는 주소를 참조하는 변수 객체 배열 SmartPhone[] phones = new SmartPhone[3]; SmartPhone 클래스를 만들어놨다는 가정 크기 3의 객체 배열 생성 초기화 작업 for(int i=0; i 2023. 1. 3.
리터럴(literal) / 기본 타입(primitive type) / 참조 타입(reference type) / 메모리 영역 리터럴 [ literal ] ㅡ 영단어의 뜻 자체는 '문자 그대로'란 뜻을 가지고 있다. ㅡ 프로그램에서 직접 표현한 값, 변하지 않는 데이터를 의미 → 상수 int a = 7; 변수 a에 7이라는 값을 초기화하는 식을보면 a는 나중에 다시 다른 값으로 초기화 할 수 있으나, 7이라는 값은 변하지 않는 데이터이다. 7은 그 자체로 그냥 7이며 고정적인 값, 리터럴이라 부를 수 있다. 기본 타입 [ primitive type ] ㅡ byte, short, int, long / float, double / char / boolean이 기본 타입에 해당 ㅡ 기본 타입 변수는 실제 값을 변수에다가 저장한다. ex) int b = 3; // 기본 타입 변수 b에 3이 저장, b를 출력하면 3이 나온다. 참조 타입.. 2023. 1. 3.
equals()와 == String 변수를 생성하는 2가지 방법이 있다고 한다. 1. 리터럴 방식 // String a = "뉴진스"; 2. new 연산자 방식 // String a = new String("뉴진스"); 이 때 까진 항상 1번 방식만 써왔기에 2번 방법은 이번에 처음 보았다. 1번 방식의 경우 String 변수값은 Pool 영역에, 2번 방식의 경우 Heap 영역에 존재한다고 한다. Pool 영역은 변수명이 달라도 변수값이 같으면 같은 곳을 바라보고, Heap 영역은 변수값이 같아도 다른 곳에 저장된다. 간단히 eqauls()는 값 비교, ==은 주소값 비교라고 보면 된다. 그렇기에 리터럴 끼리는 값이 같으면 같은 주소를 공유하기에 ==을 써도 true고 값도 같으니 equals()를 써도 true이다. 허나 .. 2023. 1. 3.
클래스와 객체 (Class & Object), 인스턴스 (Instance) 클래스 [ Class ] - 자바에서 Class는 설계도 - 객체를 정의해 놓은 것, 객체를 생성하는데 사용 - 객체를 생성하기 위한 속성(필드, 멤버 변수)과 메소드가 정의 * * 클래스 선언은 한 파일에서 여러 개가 가능하나 파일명과 같은 클래스에만 public 접근 제한자를 붙일 수 있다 객체 [ Object ] - 정의로는 실세계에 존재하는 모든 것 - 설계도인 클래스에 따라 객체는 메모리 영역에 생성된다. - 속성(멤버 변수)과 기능(메서드)을 가지는 프로그램 단위 객체는 변수, 데이터 구조, 메서드 등 도 될 수 있는 메모리 값이다.. 객체란 뜻이 참 아리송하게 느껴진다. 클래스와 객체의 유명한 예시로 클래스는 붕어빵 틀, 객체는 붕어빵이 있다. // class : 객체를 생성하는 설계도 / .. 2023. 1. 2.