제이제이
article thumbnail
6. Java 객체지향 문법(6) - 메소드 오버로딩

메소드 오버로딩(Method Overloading) 🤔 메소드 오버로딩이란? 매개변수의 선언을 다르게 하여 동일한 이름의 메소드를 정의하는 것을 의미합니다. -> 원래 하나의 클래스 안에 동일한 이름의 메소드를 둘 이상 정의하는 것을 허용하지 않습니다. -> 그러나 매개변수의 선언이 다르면 가능하며 이를 메소드 오버로딩이라고 합니다. 자바에서 호출한 메소드를 찾는 조건 자바의 컴파일러는 다음의 두 가지 정보를 기본으로 메소드를 찾게 됩니다. 1. 메소드의 이름 2. 메소드의 매개변수 정보 다음의 메소드를 참고하여 살펴봅시다. MyHouse house = new MyHouse(); house.myRoomLocation(1,2); 위의 코드에서 메소드를 호출할 때 다음의 두가지 정보가 사용됩니다. 1. 메소..

article thumbnail
5. Java 객체지향 문법(5) - 클래스 변수와 클래스 메소드

클래스 변수 🤔 클래스 변수란? static으로 선언된 변수로써, 선언된 클래스의 모든 인스턴스(객체)가 공유하는 변수를 의미합니다. 클래스 변수 선언 클래스 내에 선언된 변수 앞에 static 선언을 붙이면 인스턴스 변수가 아닌 클래스 변수가 됩니다. static 클래스변수명 다음의 예를 통해 자세히 이해 해봅시다. 💻 예제 코드 class InstCnt{ static int instNum = 0; //생성자 InstCnt() { instNum++; //static으로 선언된 변수의 값을 증가 System.out.println("인스턴스 생성: " + instNum); } } public class ClassVar { public static void main(String[]args){ //객체 생성 ..

article thumbnail
4. Java 객체지향 문법(4) - 캡슐화

캡슐화(Encapsulation) 🤔 캡슐화란? 캡슐화는 하나의 목적을 이루기 위해 관련 있는 모든 것을 논리적으로 하나의 캡슐에 담아 두는 것을 의미합니다. -> 객체 지향의 관점에서 캡슐은 클래스에 해당합니다. -> 즉, 클래스를 적절히 캡슐화시키면 프로그램이 간결해집니다. 아래의 세가지 코 감기약이 있고 아래와 같은 기능들이 있다고 가정하겠습니다. 1. 흐르는 ‘콧물’을 멎게하는 기능을 가진 캡슐 약 2. 멈추지 않는 ‘재채기’를 가라앉혀 주는 기능을 가진 캡슐 약 3. 답답한 ‘코막힘’ 상태를 완화시켜 주는기능을 가진 캡슐 약 위의 기능들을 모아 하나의 코 감기약으로 캡슐화를 하면 복용하면 보다 약 사용에 간편합니다. 아래의 코드를 통해 캡슐화가 되지 않은코드와 캡슐화 된 코드 두 가지를 살펴봅시..

article thumbnail
3. Java 객체지향 문법(3) - 정보은닉

정보 은닉 🤔 정보 은닉이란? 💡 자바에서 의미하는 ‘정보’는 클래스의 ‘인스턴스 변수(멤버, 필드)’를 의미합니다. 따라서 정보 은닉을 한다는 것은 인스턴스 변수를 숨기는 것을 의미합니다. 이와 관련되어 원의 반지름과 넓이를 구하는 다음의 코드를 살펴봅시다. 💻 예시 코드 class Circle{ double rad = 0; //원의 반지름 final double PI = 3.14; public Circle(double r) { setRad(r); //아래의 정의된 setRad 메소드 호출을 통한 초기화 } public void setRad(double r){ if(r 클래스 정의 대상: pulic, default 클래스의 인스턴스 변수와 메소드를 대상으로는 다음의 4가지 선언이 모두 가능합니다. ->..

article thumbnail
2. Java 객체지향 문법(2) - 패키지

패키지(Package) 🤔 패키지란? 클래스를 묶는 수단이자 "다른 클래스" 또는 "다른 클래스들의 묶음"과 구별하기 위한 수단입니다. 패키지를 이해하기 위해 이름이 같은 두 클래스를 살펴봅시다. 회사의 도메인 주소가 wxfx.com인 회사에서 개발한 클래스 public class Circle{ //원의 넓이 관련 클래스의 정의 doulbe rad; final double PI; //생성자 pulbic Circle(double r) { rad = r; PI = 3.14; } public double getArea(){ return (rad * rade) *PI; //원의 넓이 반환 } } 인터넷 도메인 주소가 fxmx,com인 회사에서 개발한 클래스 public class Circle{ //원의 둘레 관..

article thumbnail
1. Java 객체지향 문법(1) - 클래스와 객체

클래스와 인스턴스 🤔 클래스란? 클래스란 객체를 정의하는 틀 또는 설계도입니다. -> 클래스(Class) = 데이터(Data) + 메소드(Method)로 구성되어 있습니다. 1. 데이터(Data) = 프로그램 상에서 유지되고 관리해야 할 데이터 2. 메소드(Method) = 데이터를 처리하고 조작하는 기능 데이터는 "변수"를 통해 유지 및 관리되고, 변수에 저장된 값(데이터)들은 "메소드의 호출"을 통해 처리가 됩니다. 다음의 코드를 통해 살펴봅시다. 💻 예시 코드 public class BankAccountPO { static int balance = 0; //예금 잔액 public static void main(String[]args){ deposit(10000); //입금 진행 checkMyBala..